史 淵,王佳偉,阮 陽,吳 楠,韓港成,康曉鳳
(徐州工程學(xué)院信電工程學(xué)院,江蘇 徐州 221000)
基于Android的移動(dòng)教務(wù)綜合系統(tǒng)
史 淵,王佳偉,阮 陽,吳 楠,韓港成,康曉鳳
(徐州工程學(xué)院信電工程學(xué)院,江蘇 徐州 221000)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展與推廣,諸如URP、正方等教務(wù)管理系統(tǒng)應(yīng)運(yùn)而生。但是該系統(tǒng)的很多操作諸如選課以及成績(jī)查詢等功能只能在PC端的特定瀏覽器上運(yùn)行,給教師和學(xué)生的使用帶來了極大的不便,例如,在一些瀏覽器中打開教務(wù)系統(tǒng)后無法進(jìn)行后續(xù)操作;無法在移動(dòng)端登陸教務(wù)系統(tǒng)進(jìn)行選課以及查詢等操作。基于上述背景,通過移動(dòng)端的模擬登陸,設(shè)計(jì)并實(shí)現(xiàn)一套功能完善的基于Android的移動(dòng)教務(wù)綜合系統(tǒng)。
計(jì)算機(jī)軟件;移動(dòng)教務(wù)系統(tǒng);模擬訪問;Android
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展與推廣,諸如URP、正方等教務(wù)管理系統(tǒng)應(yīng)運(yùn)而生。但是該系統(tǒng)的很多操作諸如選課以及成績(jī)查詢等功能只能在PC端的特定瀏覽器上運(yùn)行,給教師和學(xué)生的使用帶來了極大的不便,該課題就是為了解決這一問題而設(shè)計(jì)開發(fā)一個(gè)基于Android的移動(dòng)教務(wù)綜合系統(tǒng)。該系統(tǒng)利用Okhttp、Jsoup和網(wǎng)絡(luò)爬蟲等技術(shù)進(jìn)行實(shí)現(xiàn)。使用該系統(tǒng)可以在移動(dòng)終端實(shí)現(xiàn)教務(wù)系統(tǒng)的基本操作,同時(shí)可以實(shí)現(xiàn)對(duì)系統(tǒng)用戶弱口令的完善和針對(duì)用戶進(jìn)行系統(tǒng)新聞、成績(jī)信息的推送等功能。
系統(tǒng)根據(jù)需求共分為四層。第一層為網(wǎng)絡(luò)通信層,包括一些網(wǎng)絡(luò)的鏈接以及通信操作。第二層為數(shù)據(jù)操作層,包括一些數(shù)據(jù)的獲取操作。第三層為業(yè)務(wù)邏輯層。第四層為用戶交互層[1]。系統(tǒng)主要使用Android Studio開發(fā),采用java語言實(shí)現(xiàn)。通過Okhttp和Jsoup實(shí)現(xiàn)模擬登錄以及各種信息的獲取。如圖1系統(tǒng)架構(gòu)設(shè)計(jì)圖所示。
本系統(tǒng)主要包括學(xué)校選擇模塊,系統(tǒng)登錄模塊,個(gè)人信息模塊,成績(jī)查詢模塊,課程查詢模塊,教學(xué)評(píng)估模塊,選課模塊以及信息推送模塊。通過這
些模塊從而實(shí)現(xiàn)系統(tǒng)的登錄,查看個(gè)人信息、課程信息、成績(jī)信息,課程選擇以及教學(xué)評(píng)估等功能。
圖1 系統(tǒng)架構(gòu)設(shè)計(jì)圖
2.1 核心功能實(shí)現(xiàn)原理
本系統(tǒng)的業(yè)務(wù)實(shí)現(xiàn)核心是對(duì)教務(wù)系統(tǒng)的模擬訪問,從而實(shí)現(xiàn)一個(gè)輕量級(jí)的移動(dòng)端教務(wù)管理系統(tǒng)。使用Android studio[2]進(jìn)行開發(fā),主要通過Okhttp進(jìn)行網(wǎng)絡(luò)通信,使用jsop解析頁面。
Okhttp是Android端的一個(gè)Http客戶端,其基礎(chǔ)功能相當(dāng)于Android自帶的HttpURLConnection和Apache HTTP Client,但他卻比自帶的2個(gè)Http客戶端優(yōu)越很多,一者是寫法簡(jiǎn)單,二者okhttp處理很多網(wǎng)絡(luò)復(fù)雜問題,如會(huì)從很多常用的連接問題中自動(dòng)恢復(fù)。如果您的服務(wù)器配置了多個(gè)IP地址,當(dāng)?shù)谝粋€(gè)IP連接失敗的時(shí)候,OkHttp會(huì)自動(dòng)嘗試下一個(gè)IP。OkHttp還處理了代理服務(wù)器問題和SSL握手失敗等等很多問題。
jsoup 是一款Java的HTML解析器,可直接解析某個(gè)URL地址、HTML文本內(nèi)容。它提供了一套非常省力的 API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數(shù)據(jù)。
2.2.1 學(xué)校選擇模塊
學(xué)校選擇模塊通過Card View展示了目前支持的多所學(xué)校以及觸發(fā)式(點(diǎn)擊左下角readme)的學(xué)校簡(jiǎn)介[3],系統(tǒng)將根據(jù)用戶的選擇在網(wǎng)絡(luò)通信層進(jìn)行相應(yīng)的url配置。
學(xué)校的不同導(dǎo)致了教務(wù)系統(tǒng)的差異,通過用戶的選擇,系統(tǒng)將在網(wǎng)絡(luò)通信層選擇封裝好的相應(yīng)學(xué)校的教務(wù)系統(tǒng)url以及各種信息查詢的url進(jìn)行配置與連接。為了防止出現(xiàn)網(wǎng)絡(luò)無法連接的情況導(dǎo)致后續(xù)異常,系統(tǒng)在加載界面將進(jìn)行網(wǎng)絡(luò)連接的檢測(cè),如果無法連接至網(wǎng)絡(luò)系統(tǒng)將給出提示并回到桌面。學(xué)校選擇模塊如圖2所示。
2.2.2 系統(tǒng)登錄模塊
在一般的教務(wù)系統(tǒng)中,通常是通過用戶名密碼以及驗(yàn)證碼三個(gè)字段對(duì)用戶登錄進(jìn)行校驗(yàn)。但是在個(gè)別教務(wù)系統(tǒng)中可能會(huì)添加其他字段進(jìn)行校驗(yàn)。
針對(duì)不同的教務(wù)系統(tǒng)進(jìn)行抓包分析出驗(yàn)證登錄所需的字段[4],在用戶進(jìn)行訪問時(shí)通過在學(xué)校選擇模塊進(jìn)行的學(xué)校選擇需要賦值的字段,根據(jù)用戶的輸入賦值后,使用okhttp將字段post進(jìn)行驗(yàn)證,根據(jù)服務(wù)器端的返回包分析對(duì)用戶進(jìn)行提示[5]。從而實(shí)現(xiàn)教務(wù)系統(tǒng)的模擬登錄。
如圖3所示為系統(tǒng)登錄模塊實(shí)現(xiàn)效果。
圖2 學(xué)校選擇模塊
圖3 系統(tǒng)登錄模塊
2.2.3 個(gè)人信息模塊
教務(wù)系統(tǒng)一般都有一個(gè)個(gè)人信息頁面,頁面中以表格形式內(nèi)嵌一個(gè)頁面顯示學(xué)生相關(guān)的各類信息[6]。個(gè)人信息模塊主要是獲取個(gè)人信息,并將獲取到的信息保存,在需要的地方進(jìn)行調(diào)用。
該功能主要通過jsoup解析html后將解析結(jié)果保存到應(yīng)用程序根目錄下,在導(dǎo)航菜單以及個(gè)人信息管理菜單處再?gòu)谋镜孬@取信息,通過業(yè)務(wù)邏輯層的算法優(yōu)化以及數(shù)據(jù)整理,將數(shù)據(jù)反饋給用戶。
如圖4所示為個(gè)人信息模塊。
圖4 個(gè)人信息模塊
2.2.4 成績(jī)查詢模塊
成績(jī)查詢模塊,通過Jsoup解析教務(wù)系統(tǒng)相關(guān)成績(jī)頁面的html,將數(shù)據(jù)抓取出來后以xml文件的格式保存在本地[7]。
抓取后的xml文檔中包含大量的數(shù)據(jù),數(shù)據(jù)通過業(yè)務(wù)邏輯層的整理分類之后選取需要的成績(jī)信息顯示給用戶。
如圖5所示為成績(jī)查詢模塊。
圖5 成績(jī)查詢模塊
2.2.5 課程查詢模塊
基于用戶體驗(yàn)的角度,如今的教務(wù)管理系統(tǒng),一般將課程信息以課程表的形式顯示。
通過抓包分析得知教務(wù)系統(tǒng)獲取課程信息的get請(qǐng)求,得到相應(yīng)的url,再通過jsoup解析該url得到相應(yīng)的具體數(shù)據(jù)。經(jīng)過業(yè)務(wù)邏輯層整理以課程表的形式回顯給用戶。
如圖6為課程查詢模塊
2.2.6 教學(xué)評(píng)估模塊
該模塊模擬正常的評(píng)估流程,首先post一次后,獲取評(píng)估頁面的list,通過jsoup解析后,獲取相應(yīng)字段,對(duì)‘wjbm’,‘bpr’,‘pgnr’等代表課程信息字段和各個(gè)評(píng)分字段進(jìn)行賦值后組包,再次post實(shí)現(xiàn)評(píng)估。
圖6 課程查詢模塊
2.2.7 選課模塊
該模塊主要通過獲取教務(wù)系統(tǒng)中提供的選課信息,將選課信息整理為列表提供給用戶,用戶選擇后,根據(jù)選擇進(jìn)行組包并post到相應(yīng)的url實(shí)現(xiàn)選課功能。 選課模塊同時(shí)包含退課功能,通過jsoup解析已選課程界面得到用戶已經(jīng)選擇的課程,在用戶選擇退課時(shí),后臺(tái)將課程編號(hào)等字段組包post給教務(wù)系統(tǒng)相應(yīng)的url從而實(shí)現(xiàn)退課功能。
2.2.8 信息推送模塊
信息推送模塊,主要是在用戶完成登錄后進(jìn)入的主界面對(duì)用戶進(jìn)行一些時(shí)事新聞以及教務(wù)信息的推送[8]。
信息的獲取主要通過兩大渠道,一是教務(wù)平臺(tái)的通知界面。二是通過網(wǎng)絡(luò)爬蟲[9]從各大新聞門戶網(wǎng)站抓取一些相關(guān)新聞。
本系統(tǒng)是在充分研究了Okhttp,Jsoup,Android平臺(tái)網(wǎng)絡(luò)通信及界面開發(fā)的基礎(chǔ)上,設(shè)計(jì)實(shí)現(xiàn)的一個(gè)界面友好,使用方便,安全可靠的移動(dòng)教務(wù)綜合系統(tǒng)。主要實(shí)現(xiàn)了針對(duì)urp教務(wù)系統(tǒng)和正方教務(wù)系統(tǒng)的個(gè)人信息查詢,成績(jī)查詢,密碼修改,選課,教學(xué)評(píng)估等功能。本系統(tǒng)打破了教務(wù)系統(tǒng)只能在pc端登錄的局限性,方便了學(xué)生的學(xué)習(xí)生活。
圖7 為信息推送模塊
[1] 高煥堂. Google Android應(yīng)用框架原理與程序設(shè)計(jì)36計(jì)[M]. Misoo, 2010: 8-13.
[2] 李剛. 瘋狂Android講義[M]. 電子工業(yè)出版社, 2013.
[3] 張幸芝, 徐東東, 賈菲. 基于響應(yīng)式Web 設(shè)計(jì)的教務(wù)系統(tǒng)移動(dòng)平臺(tái)研究與建設(shè)[J]. 軟件, 2013, 34(6): 5-7.
[4] 謝希仁. 計(jì)算機(jī)網(wǎng)絡(luò)[M]. 電子工業(yè)出版社, 2013.
[5] 榮艷冬. Android軟件權(quán)限系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2014, 35(2): 50-51.
[6] 隋雪莉, 許鳴, 劉威, 等. 基于Android平臺(tái)的移動(dòng)教務(wù)系統(tǒng)的研究[J]. 軟件, 2014, 35(8): 38-41.
[7] 趙哲, 宋俊德, 鄂海紅. 基于Android平臺(tái)的移動(dòng)應(yīng)用構(gòu)建研究與設(shè)計(jì)[J]. 新型工業(yè)化,
[8] 盧娜. 基于Android平臺(tái)的手機(jī)桌面資訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[M]. 西安電子科技大學(xué), 2011: 290-300.
[9] 郭世龍, 王晨升. 主題爬蟲設(shè)計(jì)與實(shí)現(xiàn)[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-),男,江蘇常州人,徐州工程學(xué)院信電工程學(xué)院學(xué)生,研究方向?yàn)樾畔踩?;王佳?1996-),男,江蘇揚(yáng)州人,徐州工程學(xué)院信電工程學(xué)院學(xué)生,研究方向?yàn)樾畔踩?;阮?1996-),男,江蘇常州人,徐州工程學(xué)院信電工程學(xué)院學(xué)生,研究方向?yàn)樾畔踩?;吳?1994-),女,江蘇泰州人,徐州工程學(xué)院信電工程學(xué)院學(xué)生,研究方向?yàn)樾畔踩?;韓港成(1997-),男,江蘇宿遷人,徐州工程學(xué)院信電工程學(xué)院學(xué)生,研究方向?yàn)樾畔踩豢禃曾P(1978-),女,江蘇徐州人,徐州工程學(xué)院信電工程學(xué)院副教授,研究方向?yàn)樾畔踩?/p>
本文著錄格式:史淵,王佳偉,阮陽,等. 基于Android的移動(dòng)教務(wù)綜合系統(tǒng)[J]. 軟件,2017,38(1):127-130