李湘一
摘 要:該系統(tǒng)的開發(fā)主要用在android移動設備平臺上。本文主要論述該系統(tǒng)的三大功能模塊,登陸模塊、主界面模塊、開始考試模塊的開發(fā);闡述基本開發(fā)思路,同時給出解析試題、打亂試題的算法。學生通過在手機端下載該考試系統(tǒng),可以隨時隨地進行知識的測評。該考試系統(tǒng)也可以供學習android開發(fā)的學生作為教學案例來使用。
關鍵詞: 在線考試系統(tǒng);android;模塊
中圖分類號:TP393 文獻標識號:
Development of online examination system based on Android
Li Xiangyi
(Qiongtai Teachers College, Haikou 571127,China)
Abstract: The development of this system is running on the android mobile device platform.This paper describes the development of three main module that include login interface,main interface and start exam interface;describes the basic development ideas, and lists the algorithm of parse questions and upsets questions.The students can download the system to the mobile phone,can carry out the evaluation of knowledge anytime and anywhere.The system can be used as a teaching case that students learn in the class of android course.
Keywords:Online exam system;Android; Module
0引 言
在時下的學校教育中,考試作為一個重要的學習環(huán)節(jié),一直發(fā)揮著對學生學習狀況監(jiān)控、指揮和評測的現(xiàn)實嚴格的執(zhí)行手段作用。同時,隨著移動及通訊技術不斷提升的發(fā)展水平,智能手機在校園也進入了普及與流行。為了改進現(xiàn)有的考試模式,為學生營造一種新的考試環(huán)境,及時跟蹤學生的學習情況,合理分析學生的學習效果,設計開發(fā)了基于android的在線考試系統(tǒng)[1]。該考試系統(tǒng)方便、快捷、可以隨時隨地隨手進行知識點的測試。與傳統(tǒng)筆試相比,節(jié)省了人力和物力;與電腦上機考試相比,節(jié)省了時間,而空間也不再成為受限主因,在教室、宿舍、圖書館等地方都可以進行考試。本文即對這一課題進行探討論述如下。
1在線考試系統(tǒng)環(huán)境搭建
考試系統(tǒng)研發(fā)前,首先要搭建android開發(fā)的環(huán)境。具體實現(xiàn)過程為:
(1)下載JDK(java開發(fā)環(huán)境包),配置環(huán)境變量;
新建JAVA_HOME;變量的值設為JDK的安裝目錄;在PATH中追加變量的值為;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;新建CLASSPATH;變量的值設為.%JAVA_HOME%lib;%JAVA_HOME5\lib\tools.jar。
(2)安裝SDK(software development kit);
(3)在eclipse中安裝ADT插件;
(4)eclipse和sdk進行關聯(lián);
(5)創(chuàng)建AVD視圖。
綜上所述,環(huán)境搭建完成,接下來將開展考試系統(tǒng)的具體開發(fā)研究。
2 在線考試系統(tǒng)的主要模塊
在線考試系統(tǒng)的研究開發(fā)主要包括三大模塊,分別是:考生登錄模塊、登錄成功進入主界面模塊、開始考試模塊。其系統(tǒng)結構如圖1所示。
圖1系統(tǒng)結構圖
Fig.1 System structure
3在線考試系統(tǒng)基本開發(fā)思路
首先在eclipse中新建一個android項目名稱為elts,在src文件夾下新建com.tarena.elts包,在線考試系統(tǒng)項目中用到的圖片素材全部拷貝到drawable目錄中。并開啟服務器hfs,把考生信息和考題信息文件夾加載進來。服務器啟動后如圖2所示。
圖2 HFS 服務器
Fig.2 HFS server
分析該考試系統(tǒng),主要有三大實體,考生實體、試題實體、考試信息實體。其后即需新建一個文件夾,文件夾名稱為entity,用來存放三大實體,并建立相應的實體類User.java,Question.java,ExamInfo.java。
而且,三大模塊的呈現(xiàn)還需建立三個布局文件,為此在drawable下的文件夾layout中新建登錄界面Login.xml,Main.xml,Exam.xml三個xml文件。
同時,因為界面之間要進行跳轉,所以需要調(diào)用activty,繼續(xù)在activity文件夾中新建LoginActivity.java,MainActivity.java,ExamActivity.java三個文件。
此外,為了和服務器進行直接交互,就需要建立數(shù)據(jù)層dao文件夾,在dao包中新建IExamDao.java接口和實現(xiàn)該接口的ExamDao.java。在接口中定義查詢用戶信息的方法和裝載題庫的方法,以及加載考試信息的方法,并在Exam.java中來分別實現(xiàn)這些方法。
最后,和activity也要進行直接交互,此時就要建立serice業(yè)務層,在service中新建IExamService.java和ExamService.java,以及處理異常的類IdOrPwdException.java。
具體的交互流程如圖3所示。
圖3 交互流程圖
Fig.3 Interactive chart
4在線考試系統(tǒng)關鍵算法設計
當考生登錄成功后,進入開始考試模塊中,開始考試界面如圖4所示。
圖4 開始考試界面
Fig.4 Start exam interface
在線考試系統(tǒng)中涉及到一些關鍵的算法,重點如從服務器下載試題后,如何解析文本文件中的試題,并在每次登錄成功后加載試題時完成試題亂序處理。
4.1試題解析算法描述
public Question parseQuestion(BufferedReader reader, String line)算法描述如下:
public Question parseQuestion(BufferedReader reader, String line) throws IOException {
// 1)先定義javabean對象,用來封裝Question的信息
Question q = new Question();
String[] data = line.split(",");
// 2)先完成標準答案
ArrayListanswers = new ArrayList