您的当前位置:首页正文

基于Android平台的课堂答题系统之手机端的设计与实现

2021-07-20 来源:汇智旅游网
基于Android平台的课堂答题系统之手机端的设计与实现

作者:杜佳佳

来源:《电脑知识与技术》2020年第30期

摘要:目前,随着移动通信技术的迅猛发展,Android手機平台的运用已成为当今时代的主流,在市场中占有很大的份额。Android系统的物美价廉迎合了国外众多消费者的需求,因而其在中国的发展前景非常广阔。传统的答题采用人工处理的方式,这种方式不仅不环保、耗费大量人力财力,而且反馈不及时。该研究是针对广大学生用户,将智能机应用于答题当中,主要结合后台数据库和网络连接技术,采用异步类的方法,设计的一款在线答题器,它不仅能实现用户使用手机进行在线答题,具有答题、查看试题和查看历史答题成绩的功能,还能提高效率和减少成本,具有一定的现实意义。 关键词:Android;在线答题;网络连接;异步类 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2020)30-0060-04

Abstract: At present, with the rapid development of mobile communication technology, the use of the Android mobile phone platform has become the mainstream of the present era, having a large share in the market. The high quality and inexpensiveness of the android system cater to many foreign consumers, thus, in china, there are broad prospects for development. This topic is just for student users, applying intelligent machines for answering, mainly with the background database and network technology, by using the method of asynchronous classes and design an online

answering device, by which users can answer, see the questions and review historical answer score. It can not only realize the students use the mobile phone answer online, but also improve the efficiency and reduce the cost, which has a certain practical significance.

Key words: Android; online answering; network connection; asynchronous classes 1 背景

本研究讲述了本系统的设计背景和设计目标,简单地介绍了系统的开发工具和开发环境,并对系统的结构做了论述,教育工具的发展是人们一直关注的焦点,特别地,随着智能机越来越广泛地被应用于人们的日常生活当中,这种趋势将会越来越受人们的重视。

此研究目的在于开发一款能在手机终端上运行的系统,即手机答题器,主要通过异步类的方法,通过网络连接,将手机和后台数据库连接在一起,实现Android智能手机和数据库之间的连接和数据传递连接和数据传递[1],用户可以直接通过手机从后台数据库中获取试题、课程、答案和成绩等信息,并把答案和作答信息传回数据库,从而实现答题过程。随着Android智能手机的普及和Android技术的快速发展,设计的手机端系统将会广泛应用于人们的日常生活当中,给人们的生活带来很多便利。该手机答题器不仅能节省时间,给课堂教学带来很大的方便,还能节省资源,避免浪费。手机答题[2]客户端的开发,有利于提高教学质量,此课题的应用将会有广大的市场前景和庞大的客户群体。 2 App 2.1 总体设计

本课题的任务是设计一款能在手机终端运行的系统,该系统以Java语言为基础,基于Android开发技术,能在Android平台下流畅的运行,用户可以自主登录系统,选择课程,选择题目进行答题并提交答案,还可以查看历史答题信息[3],待答案发布后能够查看答案和成绩。答题手机端主要分成三大模块,其中课堂作业模块又可细分为六部分。 2.2 修改密码

课堂答题系统手机端实现的主要功能是学生用学号和密码在手机上进行登录,登录可以根据课程、序号筛选题目进行答题,答案也上传到服务器端,答题后可以查看这道题目的答案。因为所有学生初始密码都一样,在登录界面学生可以更改自己的密码。 2.3 主页面选择课程

登录成功后,用户进入主页面,可以选择答题或者查看答题信息,若选择查看答题信息,会弹出相应的课程选择框,用户选择相应的答题页面,进入该课程进行答题。

2.4 用户答题

选择某门课程之后,用户可以选择题号作答,若作答成功,提示用户作答已成功,不可重复作答,若还未作答,提示用户请作答。 2.5 查看试题答案

若题目作答完成之后,答案处于发布状态,用户可以查看正确答案,若答案未处于发布状态,则用户无法查看成绩。 2.6 查看历史作答情况

答完所有试题之后,用户可以查看历史作答情况,可以查看自己之前提交的试题答案。 2.7 查看成绩

用户答完所有题目之后,由管理员在后台数据库查看试题答案,并给出一个总评成绩,用户可以通过进入查看成绩页面查看总评成绩[4]。 3 数据库设计

众所周知,系统的运行效率不仅会受系统配置、内存空间、代码等影响,更多的还会受到数据库效率的影响。因此,设计一个合理的数据库不仅可以简化代码的编写,减少开发者的工作量,还能给我们的编程带来很多方便,并且能节省很多时间。本系统的数据库需要导入学校数据库的信息,不需要对后来进行太多的操作[5]。根据流程图分析设计了用户信息表、作业表、课程表、选课表、答题表、成绩表和管理员信息七个表格。

本小节主要来完成系统的概要设计和详细设计,主要完成数据库表的详细设计,表设计是数据库的核心。

用户信息表是包含了学生用户的信息,包括学生账号、密码、姓名、性别以及班级号字段,学生账号作为主键。学生可以输入账号和密码登录系统。 3.1 student 4 系统实现

Android手机端中,所以有关的界面代码都放置在res/layout布局中,主要布局文件是activity_main.xml(登录页面)、checkanswer.xml(查看答案)、checkpassage.xml(查看历史

答题信息和成绩页面)、mainpage.xml(手機端主页面 )、requestion.xml(选题答题页面)以及revisepassword.xml(修改密码)六个页面。

手机端主要功能是用户利用手机进行答题和查看答案即历史答题信息,不仅仅可以提高学习效率,还可以优化教学模式。在此不加入用户的注册功能是因为,用户的人数一般都是固定的,没必要注册,如果真的需要增加用户记录,可以由管理员手动直接在数据库中添加。 软件运行前,需要将电脑和手机连到统一网段上,保证网络通畅,然后打开Eclipse,运行程序,连接数据线,将应用程序成功下载到Android手机上,Android在登录和获取试题等信息,以及上传答题信息时,都要访问数据库,这是通过JDBC驱动连接到数据库中,然后才能实现手机访存数据库中的数据[6]。

数据库的访问需要网络连接,数据库连接、访问以及断开都是放在异步类中进行的,为了避免主线程阻塞,UI卡死等现象的发生,本系统在每个Activity使用异步类另开一个线程,每个异步类都是轻量级的,而且直接继承AsyncTask父类。数据库主要通过JDBC驱动进行连接,host为服务器主机名,database指的是需要连接的数据库,user和pass为定义的实例名和密码,以下为数据库连接的主要代码:

数据库的连接、查询访问以及关闭均在异步类中的doInBackground方法中进行,使用继承的异步类接口的方法进行数据库访问操作,最后将得到的结果返回给主线程。异步类的使用是的网络连接变得更加方便、安全和快捷。doInBackground方法主要分成try、catch和finally三部分,数据库的打开和访问查询操作一般都是try方法中进行的,catch用于捕获数据库连接不正常等异常,数据库访问操作可以在一个try方法里面进行,不过若想使得程序更加可读,也可以把一次数据库操作放在一个try和catch方法中进行。数据库连接和访问操作结束之后,必须在finally方法中关闭数据库连接,否则可能会造成内存不足。而且如果不关闭数据库连接,在另一个Activity中想要访问数据库的时候,会造成数据库对象被之前的Activity占用的问题,从而导致数据库访问无法进行,事务无法提交。在执行doInBackground方法之前,一些预处理操作就在onPreExecute方法中进行,主要在这个方法中做一些准备工作。

onPostExecute是最后执行的方法,在这个方法中主要做一些善后工作。异步类的任务是另开一个线程执行工作,但是当任务完成之后,仍要将查询到的信息回调到主线程中,进行后续的操作。

5 系统使用说明和系统实现效果

用户可以通过手机下载App并安装。打开后首先是登录界面,如图2所示。用户输入账号和密码之后,点击“登录”,若账号密码均正确,那么成功登录,进入Android手机端主页面;如果用户账号或密码错误,则无法进入页面,需要重新输入账号信息。图3是用户端修改密码的界面,选择“修改密码”进入到修改密码页面,用户正确输入学号和原密码后,输入新密码,选择“确定”,密码可以修改成功;若输入的账号和原密码错误,则修改密码不成功。图4,用户登

录成功后,可以进行页面选择,选择进入相应的页面,选择答题就进入答题页面,选择查看作答情况就进入作答情况页面[7]。一个用户可以选择相应的课程进入相应课程的答题页面。图5表示的是用户答题页面,用户根据课程可以选择相应的题目作答,如果选的是有选项的题目,直接选择选项就可以提交答题信息,而对于比较复杂的题型,像填空题和简答题之类的,就需要手动输入文字答题信息后提交。若用户已经回答过该题目则提示“您已经作答”。如图6,用户答题之后,若回答选题后,若未公布答案,则提示“对不起答案未公布”。若该题答案已公布,则可进入相应的页面查看题目正确答案。图7是用户端查看历史答题信息和查看成绩页面[8],可以选择课名查看相应的答案信息。 6 结束语

本文设计并实现了基于Android的课堂答题系统手机端App,本答题系统的设计具有较大的现实意义。当今社会,大学生基本上人手一部Android智能机,使用手机进行答题也就变得越来越方便和实用,本系统在一定程度上能够帮助课堂的教学。 参考文献:

[1] 刘必刚.Android通信模块的设计与优化[D].武汉:武汉理工大学,2010. [2] Rick Rogers,John Lombardo,Zigurd Mednieks,et al.Android Application Development.2008.

[3] 宋楠.基于Android智能机课堂反馈系统的设计与实现[D].上海:华东师范大学,2013. [4] 王赟,贺洪平,刘斌,等.基于Android平台及手机WLAN功能的评分系统[J].科学技术与工程,2011,11(36):9075-9079.

[5] 吴琼.基于Android平台下高校师生作业答题系统的设计与实现[J].农业网络信息,2014(4):129-130.

[6] 郑昊,钟志峰,郭昊,等.基于Arduino/Android的蓝牙通信系统设计[J].物联网技术,2012,2(5):50-51.

[7] 熊刚.基于Android的智能手机的设计与实现[D].武汉:武汉理工大学,2010. [8] 罗浩.基于Android的蓝牙评分智能软件系统的设计与实现[D].哈尔滨:哈尔滨理工大学,2014.

【通联编辑:谢媛媛】

因篇幅问题不能全部显示,请点此查看更多更全内容