码迷,mamicode.com
首页 > 移动开发 > 详细

Android实战——第三方服务之Bmob后端云的答题系统小项目(四)

时间:2018-09-07 13:58:11      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:逻辑   center   数据库表   右键   follow   share   关系   工具   开始   

第三方服务之Bmob后端云的答题系统小项目(四)

 

事先说明:这里的一切操作都是在集成了BmobSDK之后实现的,如果对Bmob还不了解的话,请关注我第一篇Bmob文章

 

 

项目意义:

该项目实现简单,比较难处理的就是选择题的按钮复用效果

该项目可以实时更新考试题目和考试内容,灵活性高

聪明的你可能发现了,驾照宝典的科目一答题系统和这个非常类似,而且一题配上一个广告,这收益...,说不定下一个黑马就是你哦

具体思路:

1、项目可以分3个页面来分析:选择试题页面、填写信息页面、开始考试页面。

2、选择试题页面:从Bmob后台获取Exam表中考试试题信息,通过一个GridView展示出来,将选择的试题名称传到下一个页面。

3、填写信息页面:获取用户填写的信息和上个页面传下来的试题名称,查询后台Grade表中是否存在这条数据,如果存在,则通知已经考试完成,若不存在,则将数据用户信息传到下一个页面,进入开始考试页面

4、开始考试页面:获取Exam表中的examTable数据,对应查询后台Question_x表,获取考试试题,考试开始,记录进来考试的时间到SharePreference中,与上次最后一次考试时间做比较,是否超过了考试限制时间,若超过则记分为0分,将数据添加到后台Grade表中。考试完成后,计算单选题分数为1分,多选题分数为2分,总分添加到后台分数数据,结束考试。

 

项目介绍:

技术分享图片

项目效果图:

技术分享图片

项目工程结构图:

技术分享图片

后台数据库表的结构:(右键用新标签打开看得清晰一点)

技术分享图片

技术分享图片

技术分享图片

 

步骤一:javaBean的介绍

考试实体类:

 



isExaming:该考试是否已经关闭

examTable:用来取出后台考试题目数据表(后台可以有多个题目库,只要这个字段对应数据表即可)


分数统计类:



试题实体类:





步骤二:答题逻辑的实现

第一步:定义变量和找到布局控件和绑定控件的点击事件:
一个是顶部的试题,一个题目内容和四个答案按钮,下一题和上一题按钮,一个试题下面的计数器(9个)




第二步:初始化数据:

用考试唯一标识和考生信息计算出md5,用来当做考试计时的唯一识别,因为项目中可以存在很多种考试,如不能区分,就会导致计时错误,保证了计时的准确性和唯一性。

如果计时未发现超过限时时间,则初始化题目

 







第三步:处理点击事件:




第四步:计算分数结束考试,答案是按照A-1、B-2、C-3、D-4这样的对应关系判断的,所以在选项的索引上+1

 


第五步:在关闭这个考试时记录下考试最后一次时间,停止计时

 

 


第六步:其他工具类

 

 





 

 

这里提供该类的文件下载链接,如果喜欢可以参考,ExamActivity类

http://download.csdn.net/detail/qq_30379689/9603112

Android实战——第三方服务之Bmob后端云的答题系统小项目(四)

标签:逻辑   center   数据库表   右键   follow   share   关系   工具   开始   

原文地址:https://www.cnblogs.com/zhanglixina/p/9603793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!