宋以寧等
摘 要:基于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.