王旭 盧江
1.中國電信集團系統集成有限責任公司廣西分公司; 2.南寧比鄰信息技術有限公司
隨著移動互聯網飛速發展,人們從對臺式電腦(personal computer, PC)的依賴逐漸轉向移動終端。最新數據顯示,人們使用移動設備(包括安卓智能手機、安卓平板電腦、iPhone、ipad)的比例已經達到63%,超越了傳統PC。如何實現在移動終端上實現在線學習和資源共享已成為教學信息化研究領域的熱點問題。根據本系統組的初步調查顯示,高校相關教學資源系統,如教務管理系統、網上教學評價系統、圖書館管理系統以及一卡通管理系統等雖然日益受到師生們的青睞,但是,由于這些系統之間分布較為分散,使用時更多的依賴于傳統PC,從而導致師生使用的積極性受挫,不到情非得已不用,這非常不利于高校教學資源的信息化建設。越來越多的師生表示迫切需要一個能夠在移動終端上隨時隨地地、高效地使用這類教學資源的管理系統[1]。通過該系統可以隨時隨地、方便、高效地在移動終端上使用高校教學資源,如使用移動終端輕松實現成績查詢、課程表導入查詢、新聞查看以及圖書館館藏檢索等。
設計與實現出一個基于Android的校園助手APP,該系統可運行于Android操作系統。通過這款基于Android的校園助手APP,用戶可進行以下操作:課程表查詢、成績查詢、圖書館館藏圖書查詢以及資訊查看。借助該系統,可以增大同學們對教學資源利用的效率,減少不必要的操作,達到高效、隨時隨地地使用教學資源,并且促進師生之間互動交流與學習的目的。
在著手開發Android APP之前,需在PC上搭建相關的開發環境。目前,Google推薦使用Java開發Android APP,所以需安裝由Sun公司提供的JDK(即Java Development Kit, java開發工具包)、Google公司提供的Android SDK(即Android Software Development Kit, Android軟件開發工具包)以及Google公司推出的Android Studio開發工具。
運行環境的搭建主要體現在后臺服務器的運行上。本項目后臺使用Java EE進行編寫,所以后臺服務器需要安裝運行環境才能運行后臺程序。服務器需要安裝的程序有:Apache Tomcat、JDK。在安裝Apache Tomcat過程中,需要指定服務器的訪問端口,且該端口不能被系統或者其它服務占用。
開發過程中,為了提高開發效率,提高代碼的可維護性,在對數據庫進行操作的過程中,將對數據庫進行的全部操作封裝到SQLiteDataHelper類中。
1.登錄模塊的實現
登錄模塊中,主要實現向大學教務處服務器程序發生請求,經過解析服務器返回的消息,進而可判斷登錄是否成功。
2.課表模塊的實現
由于一周有七天的課程表需要展示,所以在實現的過程中,使用ViewPager裝入7個Fragment,每個Fragment裝入一天的課程表信息。
(a)添加課程模塊的實現
添加課程,即向數據庫課表緩存表table_timetale中插入一條課程表信息,實現過程如下:

通過id的值來判斷添加課程是否成功,如果id>0,說明添加成功;反之,添加失敗。
(b)查看課程模塊的實現
通過每一個Fragment綁定同一個xml,實現每個星期課表展示視圖的統一。Fragment綁定view的過程如下:
View v=LayoutInflater1.from(getActivity()).inflate(R.layout.activity_table, null);
在每一個Fragment實例化一個ListView列表項,用于展示課程。ListView通過BaseAdatper適配器實現ListView與數據的綁定,數據的來源為本地Sqlite數據庫。實現的過程如下:

mcursor 保存了從課程緩存表table_timetale中查詢到的數據的指針,通過循環遍歷mcursor 可以得到課程信息,實現過程如下:

拿出數據填充至Array List之后,通過mAdapter.notifyDataSetChanged()通過ListView更新其中的數據。
(c)分享課程模塊的實現
分享課程模塊的業務流程是,用戶通過屏幕截圖然后向好友分享截圖圖片。實現過程如下:

3.成績查詢模塊的實現
通過向大學教務服務器發送請求以實現成績查詢的功能。其中,使用阿里云服務器作為搭橋,這樣實現的目的是為了提高請求效率,實現二級緩存,減少網絡堵塞。
服務器中,實現課表查詢的過程如下:


客戶端APP中,實現成績更新自動提醒功能的實現過程如下:當用戶開啟改功能時,系統將用戶的學號以及clientId上傳至服務器數據庫中,服務器程序每隔1個小時進行查詢一次成績,如有更新則向用戶發送通知。
4.廣場資訊模塊的實現
管理員通過網頁端向服務器數據庫中的sr_gc表中插入數據,并上傳一張圖片;客戶端通過網絡請求從該數據庫中獲取數據,解析之后展示給用戶。
5.圖書館模塊的實現
圖書館模塊的業務流程是:用戶輸入關鍵字,系統向相應接口發送請求以獲得建議搜索詞,系統彈出列表輔助用戶完成輸入;用戶開始搜索之后,系統向廣西醫科大學圖書館相應服務器程序發送請求,獲得該關鍵字對應的搜索結果;用戶點擊某一個圖書之后,系統通過ISBN向豆瓣API發送請求,獲得該圖書的詳細介紹。
6.新聞模塊的實現
該模塊的實現過程是:客戶端向大學新聞中心發送請求,然后將請求結果解析后向用戶展示。
本系統將Android開發與服務器開發技術結合,針對高校在線服務資源整合力度不足、在線服務用戶體驗較差的問題,開發了基于移動終端設備的校園助手APP[3]。在現有的教務管理系統的基礎上,通過Android開發技術,將學生課程表信息與成績信息推送至移動終端上,解決了現有的教務系統使用不方便,用戶體驗不夠好的問題[4];通過Java Web開發技術,結合相關框架,實現在APP上實現圖書館館藏檢索的功能,解決了高校在線服務資源整合力度不足的問題。