史 淵,王佳偉,阮 陽,吳 楠,韓港成,康曉鳳
(徐州工程學院信電工程學院,江蘇 徐州 221000)
基于Android的移動教務綜合系統
史 淵,王佳偉,阮 陽,吳 楠,韓港成,康曉鳳
(徐州工程學院信電工程學院,江蘇 徐州 221000)
隨著互聯網技術的發展與推廣,諸如URP、正方等教務管理系統應運而生。但是該系統的很多操作諸如選課以及成績查詢等功能只能在PC端的特定瀏覽器上運行,給教師和學生的使用帶來了極大的不便,例如,在一些瀏覽器中打開教務系統后無法進行后續操作;無法在移動端登陸教務系統進行選課以及查詢等操作。基于上述背景,通過移動端的模擬登陸,設計并實現一套功能完善的基于Android的移動教務綜合系統。
計算機軟件;移動教務系統;模擬訪問;Android
隨著互聯網技術的發展與推廣,諸如URP、正方等教務管理系統應運而生。但是該系統的很多操作諸如選課以及成績查詢等功能只能在PC端的特定瀏覽器上運行,給教師和學生的使用帶來了極大的不便,該課題就是為了解決這一問題而設計開發一個基于Android的移動教務綜合系統。該系統利用Okhttp、Jsoup和網絡爬蟲等技術進行實現。使用該系統可以在移動終端實現教務系統的基本操作,同時可以實現對系統用戶弱口令的完善和針對用戶進行系統新聞、成績信息的推送等功能。
系統根據需求共分為四層。第一層為網絡通信層,包括一些網絡的鏈接以及通信操作。第二層為數據操作層,包括一些數據的獲取操作。第三層為業務邏輯層。第四層為用戶交互層[1]。系統主要使用Android Studio開發,采用java語言實現。通過Okhttp和Jsoup實現模擬登錄以及各種信息的獲取。如圖1系統架構設計圖所示。
本系統主要包括學校選擇模塊,系統登錄模塊,個人信息模塊,成績查詢模塊,課程查詢模塊,教學評估模塊,選課模塊以及信息推送模塊。通過這
些模塊從而實現系統的登錄,查看個人信息、課程信息、成績信息,課程選擇以及教學評估等功能。

圖1 系統架構設計圖
2.1 核心功能實現原理
本系統的業務實現核心是對教務系統的模擬訪問,從而實現一個輕量級的移動端教務管理系統。使用Android studio[2]進行開發,主要通過Okhttp進行網絡通信,使用jsop解析頁面。
Okhttp是Android端的一個Http客戶端,其基礎功能相當于Android自帶的HttpURLConnection和Apache HTTP Client,但他卻比自帶的2個Http客戶端優越很多,一者是寫法簡單,二者okhttp處理很多網絡復雜問題,如會從很多常用的連接問題中自動恢復。如果您的服務器配置了多個IP地址,當第一個IP連接失敗的時候,OkHttp會自動嘗試下一個IP。OkHttp還處理了代理服務器問題和SSL握手失敗等等很多問題。
jsoup 是一款Java的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的 API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數據。
2.2.1 學校選擇模塊
學校選擇模塊通過Card View展示了目前支持的多所學校以及觸發式(點擊左下角readme)的學校簡介[3],系統將根據用戶的選擇在網絡通信層進行相應的url配置。
學校的不同導致了教務系統的差異,通過用戶的選擇,系統將在網絡通信層選擇封裝好的相應學校的教務系統url以及各種信息查詢的url進行配置與連接。為了防止出現網絡無法連接的情況導致后續異常,系統在加載界面將進行網絡連接的檢測,如果無法連接至網絡系統將給出提示并回到桌面。學校選擇模塊如圖2所示。
2.2.2 系統登錄模塊
在一般的教務系統中,通常是通過用戶名密碼以及驗證碼三個字段對用戶登錄進行校驗。但是在個別教務系統中可能會添加其他字段進行校驗。
針對不同的教務系統進行抓包分析出驗證登錄所需的字段[4],在用戶進行訪問時通過在學校選擇模塊進行的學校選擇需要賦值的字段,根據用戶的輸入賦值后,使用okhttp將字段post進行驗證,根據服務器端的返回包分析對用戶進行提示[5]。從而實現教務系統的模擬登錄。
如圖3所示為系統登錄模塊實現效果。

圖2 學校選擇模塊

圖3 系統登錄模塊
2.2.3 個人信息模塊
教務系統一般都有一個個人信息頁面,頁面中以表格形式內嵌一個頁面顯示學生相關的各類信息[6]。個人信息模塊主要是獲取個人信息,并將獲取到的信息保存,在需要的地方進行調用。
該功能主要通過jsoup解析html后將解析結果保存到應用程序根目錄下,在導航菜單以及個人信息管理菜單處再從本地獲取信息,通過業務邏輯層的算法優化以及數據整理,將數據反饋給用戶。
如圖4所示為個人信息模塊。

圖4 個人信息模塊
2.2.4 成績查詢模塊
成績查詢模塊,通過Jsoup解析教務系統相關成績頁面的html,將數據抓取出來后以xml文件的格式保存在本地[7]。
抓取后的xml文檔中包含大量的數據,數據通過業務邏輯層的整理分類之后選取需要的成績信息顯示給用戶。
如圖5所示為成績查詢模塊。

圖5 成績查詢模塊
2.2.5 課程查詢模塊
基于用戶體驗的角度,如今的教務管理系統,一般將課程信息以課程表的形式顯示。
通過抓包分析得知教務系統獲取課程信息的get請求,得到相應的url,再通過jsoup解析該url得到相應的具體數據。經過業務邏輯層整理以課程表的形式回顯給用戶。
如圖6為課程查詢模塊
2.2.6 教學評估模塊
該模塊模擬正常的評估流程,首先post一次后,獲取評估頁面的list,通過jsoup解析后,獲取相應字段,對‘wjbm’,‘bpr’,‘pgnr’等代表課程信息字段和各個評分字段進行賦值后組包,再次post實現評估。

圖6 課程查詢模塊
2.2.7 選課模塊
該模塊主要通過獲取教務系統中提供的選課信息,將選課信息整理為列表提供給用戶,用戶選擇后,根據選擇進行組包并post到相應的url實現選課功能。 選課模塊同時包含退課功能,通過jsoup解析已選課程界面得到用戶已經選擇的課程,在用戶選擇退課時,后臺將課程編號等字段組包post給教務系統相應的url從而實現退課功能。
2.2.8 信息推送模塊
信息推送模塊,主要是在用戶完成登錄后進入的主界面對用戶進行一些時事新聞以及教務信息的推送[8]。
信息的獲取主要通過兩大渠道,一是教務平臺的通知界面。二是通過網絡爬蟲[9]從各大新聞門戶網站抓取一些相關新聞。
本系統是在充分研究了Okhttp,Jsoup,Android平臺網絡通信及界面開發的基礎上,設計實現的一個界面友好,使用方便,安全可靠的移動教務綜合系統。主要實現了針對urp教務系統和正方教務系統的個人信息查詢,成績查詢,密碼修改,選課,教學評估等功能。本系統打破了教務系統只能在pc端登錄的局限性,方便了學生的學習生活。

圖7 為信息推送模塊
[1] 高煥堂. Google Android應用框架原理與程序設計36計[M]. Misoo, 2010: 8-13.
[2] 李剛. 瘋狂Android講義[M]. 電子工業出版社, 2013.
[3] 張幸芝, 徐東東, 賈菲. 基于響應式Web 設計的教務系統移動平臺研究與建設[J]. 軟件, 2013, 34(6): 5-7.
[4] 謝希仁. 計算機網絡[M]. 電子工業出版社, 2013.
[5] 榮艷冬. Android軟件權限系統的設計與實現[J]. 軟件, 2014, 35(2): 50-51.
[6] 隋雪莉, 許鳴, 劉威, 等. 基于Android平臺的移動教務系統的研究[J]. 軟件, 2014, 35(8): 38-41.
[7] 趙哲, 宋俊德, 鄂海紅. 基于Android平臺的移動應用構建研究與設計[J]. 新型工業化,
[8] 盧娜. 基于Android平臺的手機桌面資訊系統的設計與實現[M]. 西安電子科技大學, 2011: 290-300.
[9] 郭世龍, 王晨升. 主題爬蟲設計與實現[J]. 軟件, 2013, 34(12): 107-109.
Mobile Educational Administration Integrated System Based on Android
SHI Yuan, WANG Jia-wei, RUAN Yang, WU Nang, HAN Gang-cheng, KANG Xiao-feng
(Xuzhou Institute of Technology, Xuzhou, Jiangsu 221000, China)
With the development of Internet technology and promotion, such as URP, Zhengfang, and other educational management system came into being. However, many of the functions of the system, such as course selection and performance inquiry, can only be run on a specific browser on the PC side. This has caused great inconvenience to teachers and students. For example, after opening the educational administration system in some browsers. The follow-up operation; can not log on the mobile end of the Senate system, such as elective and query operations. Based on the above background, through the mobile terminal of the simulated landing, design and implementation of a complete set of Android-based mobile academic integrated system.
Computer software; Mobile education system; Analog access; Android
TP311
A
10.3969/j.issn.1003-6970.2017.01.027
史淵(1996-),男,江蘇常州人,徐州工程學院信電工程學院學生,研究方向為信息安全;王佳偉(1996-),男,江蘇揚州人,徐州工程學院信電工程學院學生,研究方向為信息安全;阮陽(1996-),男,江蘇常州人,徐州工程學院信電工程學院學生,研究方向為信息安全;吳楠(1994-),女,江蘇泰州人,徐州工程學院信電工程學院學生,研究方向為信息安全;韓港成(1997-),男,江蘇宿遷人,徐州工程學院信電工程學院學生,研究方向為信息安全;康曉鳳(1978-),女,江蘇徐州人,徐州工程學院信電工程學院副教授,研究方向為信息安全。
本文著錄格式:史淵,王佳偉,阮陽,等. 基于Android的移動教務綜合系統[J]. 軟件,2017,38(1):127-130