APP下载

基于Android平台的课堂测试软件的设计与开发

2015-03-23宋以宁等

科技资讯 2014年34期

宋以宁等

摘 要:基于Android平台,在Java的开发环境下,使用Tomcat服务器和Mysql数据库,以内置SDK和ADT的MyEclipse作为开发工具,设计一款能在课上对学生进行当堂测试的软件。该软件可以将教师要测试的问题从PC端上传到服务器,学生用手机从服务器上下载试题进行测试,同时可将答案提交到服务器端并反馈给PC端的教师进行查看。课堂测试软件给教师和学生及时交流提供了一个高效的平台。

关键词:Android JDBC DBUtil MVC模式 课堂测试

中图分类号:TP311 文献标识码:A 文章编号:1672-3791(2014)12(a)-0002-01

学生举手发言在小学生的课堂上是一道亮丽的风景线,但在大学生的课堂上却仿佛是等待的多,老师一方面深知学生们不会主动发言,另一方面又对他们充满希望。学生仿佛在成长的阶段里逐渐丧失了某一种天性,举手不再是随心所欲而是有信心没勇气。如今,智能手机在大学生群体中盛行,学生上课玩手机已是普遍,但如果能将学生上课玩手机变成学生上课用手机与老师互动岂不更妙。课堂测试软件就可改善这一现状,它主要是指无线互联网和安卓技术在课堂上的应用,学生可通过手机终端接受教师发布的试题,并且可将自己的答案传送给web端的教师,教师通过该软件可以更好地掌握学生课堂学习情况,提高学生的听课效率。

1 软件设计

1.1 Android平台

Android是基于Linux平台的开源手机操作系统。该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件。Android最大特点在于它具有非常好的开发和调试环境,而且支持各种可扩展的用户体验。开发课堂测试软件是离不开智能手机平台的,而Android智能手机平台系统,以其开源、开放和优异便捷的开发架构,成为首选。

1.2 软件架构

课堂测试软件主要由三部分组成:PCweb端、服务器和手机Android端,需要实现的功能是:web端通过服务器发送题目给Android端,Android端通过服务器提交答案给web,web端可以将学生答案与正确答案进行比较分析。

1.3 服务器搭建

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问。DBUtil是Apache的一个开源项目,是JDBC的轻量级的封装。使用它最方便的地方在于,原来使用JDBC从数据库中查询得到的结果集需要将每一行数据封装到实体对象中,然后将实体对象加入到集合中,而使用DBUtil可以直接通过sql语句得到集合对象或者实体对象。

Android手机端的服务器和Web服务器需要连接同一个服务器,都需要调用DBUtil类的业务方法。将启动手机端服务器的代码写到Web容器的ServletContextListener监听器中,这样当Web容器启动时就会指定启动手机端服务器的代码。手机端的服务器启动后,会创建一个ServerSocket监听指定的端口,同时还会启动一个线程ServerThread负责监听用户的连接,每当有客户端进行连接时,创建并启动一个ServerAgent进程对象专门负责与该客户端进行通信。

1.4 PC web端和手机Android端的实现

Web端和Android端的实现主要采用MVC模式的技术,MVC全名是Model View Controller,即模型-视图-控制器,允许使用各种不同样式的视图来访问同一个服务器端的代码。视图层是提供给用户的操作界面,是程序的外壳;数据层,就是程序需要操作的数据或信息;控制层负责根据用户从“视图层”输入的指令,选取“数据层”中的数据,然后对其进行相应的操作,产生最终结果。它的提出是为了适应越来越复杂的项目开发,JSP+JavaBean+Servlet可以很好实现该模式。

DBUtil访问后台数据库,Servlet响应HttpRequest请求,并返回响应结果,后台采用MVC+DAO的设计模式及分层结构。服务器端主要包括采用DAO设计模式实现的访问数据库接口及其实现类。实现软件课堂测试的Servlet类包括:loginServlet用于接收用户登录的信息完成用户验证,把验证结果返回给前台,SentTestServlet和ReceiveAnswerServlet分别用于web端发送试题和接收答案,ReceiveTestServlet和SentAnswerServlet分别用于Android端接受试题和提交答案,AmountAnswerServlet用于统计答题人数等。

以发布试题功能为例,首先从request中读取试题项,调用PreparedStatement的executeUpdate方法向数据库的试题表中插入新的记录,根据executeUpdate的返回值设置writeNewNotice方法的返回值,最终将其设置到request中的属性。

2 结语

该文介绍了一种基于Android平台的课堂测试软件的设计与开发,该软件完成了包括Android端、web端和服务器端功能框架的整体的设计开发和系统部署。开发过程将web前台的设计和Android的开发使用同一服务器来绑定,选用便于操作的Dbutils操作数据库,采取重用性高的MVC模式构建程序,通过众多特色技术来实现课程测试软件的功能,不仅达到了要求,同时代码简练。此款软件在经过后期的一些安全问题及细节优化后,即将在小范围投入使用,相信它可以为师生提供一个更好的交流平台。

参考文献

[1] 欧阳零.Android核心技术与实例讲解(第2版)[M].北京:电子工业出版社,2013.

[2] Bruce Eckel著,京京工作室译.Java 编程思想(Thinking in JAVA)[M].北京:机械工业出版社,1999.

[3] 吴闻.基于Java的Web开发技术浅析.科技广场[J],2013(5):44-48.