文章的核心部分在项目分析和架构,设计模式分析和关键功能分析与技术实现这几章,这概括了系统的实现思路,设计模式和具体的实现技术。
第2章 系统分析
2.1 功能需求分析和解决思路
本应用主要功能是实现从网络服务器下载已注册用户和考题文件,在安卓系统的手机上考试科目的单选、复选题目考试并及时判断打分。
2.1.1 搭建HTTP服务器
为了保证考试的意义和公平性,试题的来源应存于远程主机上。
即使将试题写到txt文件并加密置于本地手机的SD卡上,可以保证试题的保密性,但是一来解密的过程过于繁琐,二来基于行读取的流读取方式也使得教师在编写试题的过程中需要借助特定分解符(如“#”等)来区分题干,选项,用户答案,正确答案等,这样使得老师的出题工作过于复杂且容易出错。因此将题目存于远程主机较为适合。
在本例中我选择的是hfs网络文件服务器[4]。
2.1.2 解析服务器上的相关数据
客户端的交互中,主要有四种
(1)正则表达式解析txt格式的文本文件
(2)pull方式解析XML文件
(3)SAX解析XML文件[5]
(4)JSon解析JSon文件
本例主要使用2,4两种方式。
2.1.3考试流程的实现
此功能为应用的主要功能,是在获取服务器上相关数据的基础上实现的重要功能。
这里的主要设计思路是MVC的设计思想[6],具体将在下面阐释。
主要的思路是首先解析数据,然后通过各类Adapter把相关的Entity信息映射到相关的UI组件上,最后通过Activity与用户完成交互
2.1.4 考试成绩的获取
既然考试就一定要知道考试后取得的成绩。因此考试成绩的统计尤为重要。
本例首先在Question的试题类,对于题目的分值,个数进行详尽的成员创建,并在考试进行中通过对于用户答案和正确答案进行比较,从而根据分值最终计算每位考生的成绩
2.1.5 倒计时
为了控制考试时间,需要完成考试倒计时的功能。
此外,为了增加应用的功能,本应用还增加了考试规则的展示等功能,提高考生的用户体验、 基于Android的考试软件的设计与实现(4):http://www.youerw.com/jisuanji/lunwen_39446.html