謝 玲,陸 坤,劉青青
(大連理工大學(xué) 軟件學(xué)院,遼寧 大連 116600)
基于Android校園助手的設(shè)計(jì)與實(shí)現(xiàn)
謝 玲,陸 坤,劉青青
(大連理工大學(xué) 軟件學(xué)院,遼寧 大連 116600)
隨著移動(dòng)通信技術(shù)的飛速發(fā)展,移動(dòng)終端在社會(huì)生活各個(gè)方面扮演著越來(lái)越重要的角色,它不斷滲透到人們的生活中,同時(shí)也改變和影響著人們的生活。高校的信息服務(wù)系統(tǒng)也正在逐步移動(dòng)化,為了有效提升大學(xué)生獲取學(xué)校相關(guān)教學(xué)信息的便捷性和及時(shí)性,提出了在手機(jī)上設(shè)計(jì)并實(shí)現(xiàn)一款基于Android平臺(tái)校園助手應(yīng)用。該校園助手可實(shí)現(xiàn)課程查詢、成績(jī)查詢、教師通訊錄、校園通知、一卡通服務(wù)、失物招領(lǐng)和尋物啟事等功能。同時(shí),可以實(shí)現(xiàn)隨時(shí)隨地;并讓學(xué)生獲取便捷高效的校園服務(wù)信息,從而大大地提高了校園信息服務(wù)的可操作性。
校園助手; 移動(dòng)應(yīng)用; 智慧校園; 安卓應(yīng)用
近年來(lái),隨著智慧城市概念的不斷成熟以及智慧城市建設(shè)的不斷實(shí)施。建設(shè)智慧型校園,提升學(xué)校信息集成、教學(xué)管理服務(wù)和決策支持能力成為高校信息化的一個(gè)重要方向。同時(shí),智能手機(jī)不斷普及,滲透到我們生活的每一個(gè)角落。根據(jù)我國(guó)互聯(lián)網(wǎng)信息中心(CNNIC)發(fā)布的第37次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》顯示,截止至2015年12月,我國(guó)的網(wǎng)民規(guī)模已有6.88億,其中手機(jī)網(wǎng)民數(shù)增至6.20億人,網(wǎng)民個(gè)人上網(wǎng)設(shè)備進(jìn)一步向手機(jī)端集中[1]。顯然,移動(dòng)互聯(lián)網(wǎng)是目前互聯(lián)網(wǎng)主要的表現(xiàn)形式,而智能手機(jī)則是移動(dòng)互聯(lián)網(wǎng)的主要終端。如今,Android以其優(yōu)越的開放性,壟斷了智能手機(jī)市場(chǎng)的絕大部分。憑借靈活方便,適應(yīng)人群廣等優(yōu)勢(shì),基于Android的移動(dòng)終端必然成為高校信息服務(wù)應(yīng)用發(fā)展的首選平臺(tái)。諸如課程格子,超級(jí)課程表等校園應(yīng)用不斷涌現(xiàn),也恰恰證明校園信息服務(wù)平臺(tái)正在往移動(dòng)終端迅速發(fā)展[2-5]。
本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于Android平臺(tái)的校園助手,即在安卓系統(tǒng)上開發(fā)一款應(yīng)用,提供便捷高效的校園信息服務(wù)。其功能包含:課程查詢、成績(jī)查詢、教師通訊錄、校園通知、一卡通服務(wù)以及失物招領(lǐng)等。該應(yīng)用能夠打破原有通過(guò)電腦終端獲取信息服務(wù)的時(shí)間、空間等制約[6-7],讓學(xué)生可以隨時(shí)隨地享受多樣化的校園服務(wù),同時(shí)也推動(dòng)了學(xué)校信息管理水平更上一個(gè)臺(tái)階,推動(dòng)數(shù)字化校園建設(shè)[8]。
1.1需求分析
校園助手應(yīng)用以我校為背景,借鑒以往的開發(fā)經(jīng)驗(yàn)以及個(gè)人校園生活體驗(yàn),總結(jié)以下功能性需求。校園助手應(yīng)用功能結(jié)構(gòu)如圖1所示。
圖1 校園助手應(yīng)用功能結(jié)構(gòu)圖
(1) 課程查詢。通過(guò)設(shè)定學(xué)年和學(xué)期,查詢某段時(shí)間內(nèi)的課程信息。
(2) 成績(jī)查詢。通過(guò)該功能能夠查詢已考科目的成績(jī)信息,還能夠根據(jù)學(xué)年和學(xué)期的設(shè)定獲取相應(yīng)的成績(jī)信息。
(3) 教師通訊錄。通過(guò)該功能能夠查詢教師的聯(lián)系電話、E-mail以及相關(guān)介紹等信息。
(4) 校園通知。通過(guò)該功能能夠即時(shí)獲取軟件學(xué)院當(dāng)前發(fā)布的本科生和研究生通知。
(5) 一卡通服務(wù)。通過(guò)該功能獲取一卡通的信息,如個(gè)人信息、余額等;如果一卡通遺失,能夠進(jìn)行掛失操作;如果查詢到遺失卡的招領(lǐng)信息,可以及時(shí)找回自己的一卡通;如果想了解某段時(shí)間的消費(fèi)情況,可以查詢其流水情況,包括消費(fèi)時(shí)間、消費(fèi)金額以及消費(fèi)地點(diǎn)等詳情。
(6) 失物招領(lǐng)和尋物啟事。通過(guò)該功能失主可以發(fā)布遺失物品的信息來(lái)尋找失物;撿到東西的人可以發(fā)布失物招領(lǐng)來(lái)尋找失主。
1.2設(shè)計(jì)框架
校園助手應(yīng)用的開發(fā)總體采用MVC框架(Model-View-Controller),MVC是程序開發(fā)設(shè)計(jì)中最常用的一種設(shè)計(jì)模式。憑借其優(yōu)越的可拓展性、可移植性、可維護(hù)性、可重用性等性能,已然成為一種軟件設(shè)計(jì)典范。在MVC框架中,顯示功能模塊、控制功能模塊以及數(shù)據(jù)處理模塊是各自分離的,任何一個(gè)模塊的修改都不會(huì)影響其他模塊的使用[9]。MVC的結(jié)構(gòu)如圖2所示。
圖2 MVC結(jié)構(gòu)圖
1.3物理架構(gòu)
校園助手應(yīng)用通過(guò)無(wú)線網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)校園服務(wù)器進(jìn)行訪問(wèn),并獲取其相關(guān)信息和服務(wù)[9]。其物理構(gòu)架如圖3所示。
圖3 校園助手應(yīng)用的物理架構(gòu)
1.4模塊設(shè)計(jì)
根據(jù)如前所述的功能性需求分析,校園助手應(yīng)用設(shè)計(jì)了6個(gè)主要功能,分別是:課程查詢、成績(jī)查詢、教師通訊錄、校園通知、一卡通信息服務(wù)以及失物招領(lǐng)和尋物啟事。按照功能的劃分對(duì)Android開發(fā)平臺(tái)的校園助手應(yīng)用進(jìn)行包規(guī)劃,包規(guī)劃的詳細(xì)情況如表1所示。
2.1清單文件AndroidManifest.xml的配置
AndroidManifest.xml是每個(gè)Android項(xiàng)目所必需的清單文件,它是整個(gè)Android應(yīng)用的全局描述文件。AndroidManifest.xml清單文件說(shuō)明了校園助手應(yīng)用的名稱、所使用的圖標(biāo)以及定義應(yīng)用程序使用的組件等,其中還包含了應(yīng)用程序權(quán)限說(shuō)明。由于校園助手需要連接無(wú)線網(wǎng)絡(luò),因此需要允許應(yīng)用程序打開網(wǎng)絡(luò)Socket的權(quán)限,如下:
表1 校園助手應(yīng)用的包規(guī)劃
android:name="android.permission.INTERNET" /> 2.2主界面的實(shí)現(xiàn) Android應(yīng)用中界面UI的設(shè)計(jì)既可以用Java進(jìn)行編輯也可以通過(guò)XML文件實(shí)現(xiàn),不過(guò),Android推薦使用XML布局文件來(lái)定義用戶界面,這樣不僅簡(jiǎn)單明了,而且將應(yīng)用的視圖邏輯控制從Java代碼中解放出來(lái),更好地將MVC原則體現(xiàn)出來(lái)[10-12]。 為了體現(xiàn)應(yīng)用主界面UI的簡(jiǎn)潔性,主界面對(duì)應(yīng)的activity_main.xml文件主要選擇實(shí)際布局最常用布局之一的相對(duì)布局(RelativeLayout),同時(shí)其視圖選擇按行列分布顯示多個(gè)組件的網(wǎng)格視圖(GridView)。主界面網(wǎng)格視圖的定義如下: android:layout_centerInParent="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/grid_view" android:numColumns="3" android:verticalSpacing="20dp" android:stretchMode="columnWidth"> 如上的代碼構(gòu)建了主界面的主體框架,對(duì)于GridView中的每個(gè)item(即網(wǎng)格)的定義則在main_fun_grid_view_item.xml文件中,其象征每個(gè)功能的網(wǎng)格的圖標(biāo)和文本屬性,構(gòu)建了每個(gè)網(wǎng)格的內(nèi)部框架,主要代碼如下: android:id="@+id/image" android:layout_width="80dp" android:layout_height="80dp" /> android:layout_marginTop="5dp" android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 通過(guò)以上兩個(gè)XML文件,則完成了用戶主界面的整體框架的定義。然后通過(guò)適配器來(lái)實(shí)現(xiàn)系統(tǒng)的主界面,最終的主界面如圖4所示。 圖4 校園助手的用戶主界面 2.3各模塊功能的實(shí)現(xiàn) 校園助手的課程查詢、成績(jī)查詢、教師通訊錄、校園通知以及一卡通服務(wù)的信息都是來(lái)自于學(xué)校相關(guān)的門戶網(wǎng)站、教務(wù)網(wǎng)站等。因此,這些功能的實(shí)現(xiàn)就是將相關(guān)網(wǎng)頁(yè)進(jìn)行整合并“Android化”。而這個(gè)過(guò)程則需要使用一款功能強(qiáng)大的HTML解析器——Jsoup[13]。 Jsoup的主要功能是通過(guò)一個(gè)URL地址或者本地文件來(lái)解析HTML文件,生成一個(gè)Document對(duì)象實(shí)例,再利用DOM或者CSS選擇器對(duì)Document對(duì)象實(shí)例進(jìn)行查找并獲取所需的數(shù)據(jù),此外,HTML文件解析提取后得到的任意HTML元素可以進(jìn)行自定義操作。由于Jsoup擁有強(qiáng)大的解析提取能力,可以將任意網(wǎng)頁(yè)進(jìn)行“安卓化”,即實(shí)現(xiàn)網(wǎng)頁(yè)的Android客戶端。Jsoup這個(gè)工具在Android應(yīng)用的性能方面也有很好的體現(xiàn),如解析時(shí)間較短、占用內(nèi)存較少等。課程查詢、成績(jī)查詢、一卡通模塊的功能均通過(guò)此種方法實(shí)現(xiàn)。圖5、6分別是校園助手的登錄界面和課程查詢界面。 教師通訊錄的實(shí)現(xiàn)則還要利用另一種方法,即使用JSON技術(shù)[14-15]。JSON是一種輕量級(jí)數(shù)據(jù)交換格式,格式簡(jiǎn)單,易于讀寫,占用存儲(chǔ)小,還易于解析。根據(jù)相關(guān)信息將教師按系別和級(jí)別進(jìn)行劃分,并且附帶教師信息網(wǎng)頁(yè)的URL地址,而這些信息存儲(chǔ)在contact.txt文件中。利用JSON解析該文件并與適配器進(jìn)行適配,顯示在教師目錄頁(yè)面上,并將教師名字與對(duì)應(yīng)URL進(jìn)行超鏈接。圖7是教師目錄界面。 校園通知的實(shí)現(xiàn)在Jsoup的基礎(chǔ)上則還需要調(diào)用第三方庫(kù)文件,這個(gè)庫(kù)文件的作用是實(shí)現(xiàn)通知列表的下拉刷新和上拉加載。圖8是校園通知的列表界面。 圖5 校園助手的登錄界面圖6 校園助手的課程查詢界面 圖7 教師目錄界面圖8 通知列表界面 2.4系統(tǒng)測(cè)試 校園助手的測(cè)試是在mi 4手機(jī)(Android 6.0.1)上進(jìn)行的。整個(gè)測(cè)試過(guò)程中,對(duì)各個(gè)功能的實(shí)現(xiàn)情況進(jìn)行反復(fù)測(cè)試,測(cè)試過(guò)程中重點(diǎn)關(guān)注應(yīng)用的流暢性及穩(wěn)定性。從整體上看,校園助手應(yīng)用在已經(jīng)滿足此前的需求設(shè)計(jì),就應(yīng)用的體驗(yàn)度來(lái)講,操作較為便利,界面跳轉(zhuǎn)的流暢度還有待提高。 基于安卓的校園助手應(yīng)用是以在校大學(xué)生作為用戶對(duì)象的,所以需要滿足學(xué)生日常查詢課程、成績(jī)、教師信息、校園通知、一卡通信息等服務(wù)。而這些信息服務(wù)數(shù)據(jù)來(lái)源于校園門戶服務(wù)網(wǎng)站,本助手能夠?qū)⑿@網(wǎng)門戶網(wǎng)站信息頁(yè)面進(jìn)行綜合,并實(shí)現(xiàn)“安卓化”。通過(guò)嚴(yán)格的系統(tǒng)測(cè)試,基于安卓的校園助手整體流暢、穩(wěn)定,滿足要求。后續(xù)將繼續(xù)對(duì)系統(tǒng)進(jìn)行全面完善和提升,并不斷優(yōu)化界面,提升界面跳轉(zhuǎn)的流暢性。 該移動(dòng)應(yīng)用的投入使用,是對(duì)學(xué)校信息化平臺(tái)的有力擴(kuò)充,很好地提升了服務(wù)質(zhì)量和用戶體驗(yàn)。其良好的用戶體驗(yàn)和便捷的操作,能夠極大地簡(jiǎn)化諸多業(yè)務(wù)操作,同時(shí),本助手還具有動(dòng)態(tài)擴(kuò)展、全面兼容等優(yōu)勢(shì),隨著系統(tǒng)的不斷完善,必然使得學(xué)校的信息化更加高效、個(gè)性而友好,不斷推進(jìn)智慧校園的信息平臺(tái)水平。 [1] 中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心.第37次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[J].中國(guó)信息安全,2016(1):35-73. [2] 熊志君.Android在高校學(xué)生信息服務(wù)系統(tǒng)中的應(yīng)用研究[J].硅谷,2014(10):57-57. [3] 余成鋼.基于Android平臺(tái)的NFC技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:復(fù)旦大學(xué),2011. [4] 宋 凱,李 磊,袁 辰,等.基于Android的校園商用服務(wù)集成平臺(tái)[J].微型機(jī)與應(yīng)用,2015,34(18): 92-94. [5] 倪紅軍.基于Android平臺(tái)的消息推送研究與實(shí)現(xiàn)[J].實(shí)驗(yàn)室研究與探索,2014,33(5): 96-100. [6] 胡 蓉.校園一卡通的建設(shè)與實(shí)踐[J].實(shí)驗(yàn)室研究與探索,2012,31(7): 405-406. [7] 斯密斯著.Android開發(fā)范例代碼大全[M].趙凱譯.北京: 清華大學(xué)出版社,2014: 249-252. [8] 杜洪波,高 峰,郭 光,等.基于Android平臺(tái)的數(shù)字校園信息系統(tǒng)設(shè)計(jì)[J].軟件導(dǎo)刊,2016(1): 83-85. [9] 燕玲玲.基于Android的高校校園通的設(shè)計(jì)與實(shí)現(xiàn)[D].太原:山西大學(xué),2013. [10] 董 濤.基于Android的移動(dòng)校園客戶端設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2014. [11] 郝建民.基于Android平臺(tái)的校園信息管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2015. [12] 盧慧鋒,趙文濤,孫志峰,等.社會(huì)化網(wǎng)絡(luò)服務(wù)中OAuth2.0的應(yīng)用研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2014(z1): 50-54. [13] 王云林.Android應(yīng)用中跨版本集成新特性的研究與實(shí)現(xiàn)[D].上海:東華大學(xué),2014. [14] 姜文周,王彥超,李先毅.基于Android的個(gè)性化校園地圖服務(wù)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2012,29(3): 109-111. [15] 李寧寧,王遠(yuǎn)飛,張 冉.基于Android的校園應(yīng)用軟件開發(fā)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2014,22(20): 111-114. Design and Implementation of Mobile Campus Assistant Based on Android XIELing,LUKun,LIUQingqing (School of Software Technology,Dalian University of Technology,Dalian 116600,Liaoning,China) With the rapid development of mobile communication technology, mobile terminals have developed rapidly in all aspects of social life, it has penetrated into people’s lives,and also changed and influenced people’s life.For college students to obtain campus information conveniently and expeditiously,the topic is to design and implement a campus assistant application based on Android platform.The assistant application has achieved curriculum query,query results,teachers contacts,campus notice,e-card information,lost and found.Through the use of the campus assistant application,on the one hand,we can get rid of the limitations of other campus information platform in various aspects,and access to campus information anytime and anywhere; on the other hand,it also provides convenient and efficient campus information service, access to campus information more simply,thus greatly improves the operational performance of campus information services. campus assistant; mobile app; smart campus; Android app 2016-11-15 遼寧省教學(xué)改革研究項(xiàng)目(UPRP20140233);大連理工大學(xué)教育教學(xué)改革重大項(xiàng)目(ZZD2016001) 謝 玲(1982-),女,湖北黃岡人,碩士,工程師,從事計(jì)算機(jī)應(yīng)用技術(shù)研究。Tel.:18524111611;E-mail:xieling@dlut.edu.cn TP 391; G 642.0 :A 1006-7167(2017)07-0144-043 結(jié) 語(yǔ)