Android平臺(tái)下校園信息管理系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn)-(完整版)_第1頁
Android平臺(tái)下校園信息管理系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn)-(完整版)_第2頁
Android平臺(tái)下校園信息管理系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn)-(完整版)_第3頁
Android平臺(tái)下校園信息管理系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn)-(完整版)_第4頁
Android平臺(tái)下校園信息管理系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn)-(完整版)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Android平臺(tái)下校園信息管理系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn)_(完整版)(文檔可以直接使用,也可根據(jù)實(shí)際需要修改使用,可編輯歡迎下載)

Android平臺(tái)下校園信息管理系統(tǒng)客戶端的設(shè)計(jì)與實(shí)現(xiàn)_(完整版)(文檔可以直接使用,也可根據(jù)實(shí)際需要修改使用,可編輯歡迎下載)

畢業(yè)論文

課題名稱:校園信息管理平臺(tái)下的Android客戶端

的設(shè)計(jì)與實(shí)現(xiàn)

學(xué)號(hào):

班級(jí):

姓名:

學(xué)院:

專業(yè):

指導(dǎo)老師:

摘要伴隨著3G時(shí)代的到來,移動(dòng)終端所能完成的功能在各行各業(yè)日益廣泛和深

I

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端入,移動(dòng)便攜的概念早已深入人心,讓人們更加的依賴移動(dòng)終端。本課題來源于校園內(nèi)對信息管理系統(tǒng)在移動(dòng)終端便捷使用的需求。傳統(tǒng)學(xué)校信息管理系統(tǒng)是采取PC機(jī)通過局域網(wǎng)連接服務(wù)器端的形式進(jìn)行操作,缺少對移動(dòng)端的支持,學(xué)生無法隨時(shí)隨地使用該系統(tǒng)。因此本應(yīng)用基于Android移動(dòng)平臺(tái),讓學(xué)生可以通過Android移動(dòng)終端更方便快捷地使用該系統(tǒng)。

學(xué)生在XX可以通過瀏覽器登錄Mysise查閱自己個(gè)人信息、課程表等內(nèi)容,本系統(tǒng)是通過Android移動(dòng)客戶端達(dá)到同樣的效果。

本系統(tǒng)是基于Android平臺(tái)開發(fā)的一個(gè)XX校園信息管理系統(tǒng),主要完成軟件的整體設(shè)計(jì)以及各個(gè)功能的實(shí)現(xiàn)。在Windows操作系統(tǒng)平臺(tái)下,搭載Android_2.3.3_SDK開發(fā)環(huán)境,采用JAVA語言作為主要開發(fā)語言,使用Eclipse完成后臺(tái)代碼的編寫,使用JSoup技術(shù)解析網(wǎng)頁獲取信息數(shù)據(jù),運(yùn)用多線程技術(shù)保證程序性能,結(jié)合Photoshop為界面UI美化,從而完成的一個(gè)Android客戶端。

本論文是以系統(tǒng)的開發(fā)為線,介紹了此系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,從軟件設(shè)計(jì)的角度對系統(tǒng)的理論基礎(chǔ)、系統(tǒng)概要設(shè)計(jì)以及系統(tǒng)具體實(shí)現(xiàn)進(jìn)行了詳細(xì)研究。整個(gè)過程嚴(yán)格遵循了軟件工程的思想和UI視覺享受的理念,保證了系統(tǒng)的實(shí)用價(jià)值。關(guān)鍵詞:Android;Java;JSoup;移動(dòng)終端

II

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端AbstractWiththeageof3Giscoming,thefunctionsthatmobileshavebecomemorepopularandwidespread.Peoplehadgotusedtotheconvenienceofmobilesandbecomemorerelyonit.Ourprojectisdependontheexistentcampusinformation

managesystem‘MySise’.TheoriginalsystemisbasedonWindowsoperatingsystem,PCistheonlyplatformwecanusedtologinintothesystem.Studentscouldnotusethe

systemeverywhere.SowemakethesoftwarethatrunsonAndroidplatform,letstudentsuse‘MySise’ontheirAndroidPhoneseasily.

Studentscanlogininto‘MySise’systemandchecktheirpersonalinformation,

curriculumcontentsandsoon.OursystemhasthesamefunctionsbutbasedonAndroid.

OursystemisacampusinformationmanagesystemthatrelyonAndroidplatform.Webasicallyfinishedthestructuredesignandfunctions.IntheWindowsoperatingsystemplatform,withtheAndroid_2.3.3_SDKdevelopmentenvironment,usingJAVAlanguageasthemaindevelopmentlanguage,useEclipsetofinishwriting,usingJSouptechnologytoanalysisthewebpageinformation,theuseofmulti-threadingtechnologytoensuretheprogramperformance,usePhotoshopastheUIlandscapingtool,sothatwecompletethesystemonAndroid.

Thisarticleintroducesourdesignofthesystemandtheprocessingofmakingit

happen.Bytheviewofsoftwaredesign,wehaddonedozensofresearchonthebasictheory,thesummaryofthedesign,andtheactualprocessing.ThewholeprocesshadfollowedtherulesofsoftwareengineeringandUIvisualsatisfactionsothatensurethepragmaticvalueofthesystem.

KeyWords:Android;Java;JSoup;Mobiles

III

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

目錄

前言VI

1緒論1

1.1項(xiàng)目背景1

1.2Mysise系統(tǒng)簡介1

1.3系統(tǒng)的開發(fā)意義1

1.4

2課題相關(guān)知識(shí)介紹3

2.1Android平臺(tái)介紹3

2.1.1Android系統(tǒng)簡介3

2.1.2Android系統(tǒng)的特點(diǎn)3

2.2JSoup簡介4

2.3開發(fā)工具的選用4

2.3.1Eclipse簡介4

2.3.2Photoshop簡介4

2.4系統(tǒng)運(yùn)行環(huán)境的搭建5

3系統(tǒng)需求分析6

3.1系統(tǒng)設(shè)計(jì)的總體規(guī)則6

3.2可行性分析6

3.3系統(tǒng)運(yùn)行環(huán)境需求7

3.4用戶需求分析7

3.5系統(tǒng)的設(shè)計(jì)目標(biāo)8

3.6用例分析與建模8

3.6.1用例1登錄8

3.6.2用例2主菜單9

3.6.3用例3查看個(gè)人信息10

3.6.4用例4查看課程表信息10

3.6.5用例5查看考試時(shí)間表11

3.6.6用例6查看考勤信息11

4系統(tǒng)的功能模塊設(shè)計(jì)13

4.1Mysise系統(tǒng)功能結(jié)構(gòu)圖13

4.2系統(tǒng)的功能分析與要求13

4.3系統(tǒng)功能模塊的設(shè)計(jì)14

4.3.1個(gè)人信息模塊14

4.3.2課程信息模塊14

4.3.3考試時(shí)間模塊15

4.3.4考勤信息模塊15

4.4系統(tǒng)用例圖16

5系統(tǒng)具體實(shí)現(xiàn)—邏輯處理模塊實(shí)現(xiàn)18

5.1項(xiàng)目結(jié)構(gòu)示意圖18

5.2多線程技術(shù)在項(xiàng)目上的應(yīng)用18IV

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

5.3主菜單頁面邏輯處理19

5.4個(gè)人信息頁面邏輯處理22

5.5課程表頁面邏輯處理26

5.6考試時(shí)間頁面邏輯處理29

5.7考勤信息頁面邏輯處理31

6系統(tǒng)測試34

6.1使用DDMS34

6.2系統(tǒng)測試34

6.2.1測試用例34

6.2.2單元測試36

6.2.3非功能性測試36

設(shè)計(jì)總結(jié)37

參考文獻(xiàn)38

致謝39V

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

前言

現(xiàn)在已經(jīng)成為了人們生活中不可或缺的移動(dòng)設(shè)備,沒有會(huì)讓人覺得寸步難行。不僅僅擁有傳統(tǒng)的打、發(fā)短信等基本的功能,而基于智能強(qiáng)大的信息處理能力和可擴(kuò)展能力,以及3G網(wǎng)絡(luò)高速數(shù)據(jù)傳輸,越來越多的功能和業(yè)務(wù)將被開發(fā)出來并大規(guī)模的應(yīng)用。

目前,得益于谷歌公司的開源策略,擁有眾多優(yōu)點(diǎn)的Android系統(tǒng)發(fā)展迅速,各大產(chǎn)商推出大量搭載Android系統(tǒng)的,Android已經(jīng)占據(jù)了市場的絕大份額。在未來幾年必將大放異彩,將極大的推動(dòng)整個(gè)操作系統(tǒng)甚至是互聯(lián)網(wǎng)乃至軟件行業(yè)的發(fā)展。

與此同時(shí),開源的Android系統(tǒng)讓程序員獨(dú)立開發(fā)應(yīng)用軟件成為可能。通過學(xué)習(xí)與研究,可以將PC電腦上的大量應(yīng)用移植到Android系統(tǒng)上。而學(xué)校的信息管理系統(tǒng)——Mysise系統(tǒng),目前缺少對客戶端的支持,基于此,開發(fā)一個(gè)Mysise系統(tǒng)Android客戶端這樣的想法便油然而生。

綜上所述,Android系統(tǒng)是移動(dòng)平臺(tái)發(fā)展的大勢所趨,未來將在移動(dòng)領(lǐng)域扮演一個(gè)時(shí)代重要的角色。所以,對Android平臺(tái)進(jìn)行相關(guān)研究并熟悉它是很有必要的,通過了解軟件行業(yè),進(jìn)而把握未來移動(dòng)互聯(lián)網(wǎng)的發(fā)展趨勢。同時(shí)可以更好的提升目前掌握的軟件開發(fā)專業(yè)技能,開發(fā)出符合社會(huì)發(fā)展需求的應(yīng)用軟件,從而讓生活更加便捷。

VI

1緒論

1.1項(xiàng)目背景

當(dāng)今社會(huì)的生活節(jié)奏越來越快,人們對提出的要求也越來越高,由于市場發(fā)展迅速,操作系統(tǒng)也出現(xiàn)了不同種類,現(xiàn)在市場上主要有四種操作系統(tǒng),分別是Windowsmobile,Symbian,Iphoneos以及谷歌的Android操作系統(tǒng)。其中,擁有開放源代碼優(yōu)勢的Android系統(tǒng)有著最大的發(fā)展前景。

那么能否在上擁有自己編寫的校園信息管理系統(tǒng)呢?答案是肯定的,谷歌Android系統(tǒng)就能做到。

1.2Mysise系統(tǒng)簡介

Mysise系統(tǒng),是為XX大學(xué)定制的校園信息管理系統(tǒng),主要包含有教師使用的管理系統(tǒng)與學(xué)生使用的信息系統(tǒng),本項(xiàng)目主要研究的是學(xué)生使用的信息管理系統(tǒng)部分。

學(xué)生信息管理系統(tǒng),每個(gè)學(xué)生都使用唯一的學(xué)號(hào)作為登錄帳號(hào),登錄系統(tǒng)后可以查看自己的各種信息或者做需要的操作,主要功能模塊有:個(gè)人信息、課程表、考試時(shí)間表、考勤信息??等等??梢哉f,通過網(wǎng)絡(luò),學(xué)生就可以方便的在客戶端上看到自己想要的校園信息。

然而,目前Mysise系統(tǒng)僅提供PC端Windows操作系統(tǒng)的客戶端支持。

1.3系統(tǒng)的開發(fā)意義

目前Mysise系統(tǒng)缺少在移動(dòng)設(shè)備上的支持,顯然已經(jīng)不能滿足當(dāng)代大學(xué)生高效學(xué)習(xí)便捷生活的需求了。移動(dòng)設(shè)備硬件的發(fā)展,使得也可以完成更多的功能需求,Android系統(tǒng)的出現(xiàn),更是讓進(jìn)入大屏觸屏?xí)r代,在很多日常應(yīng)用上,功能已經(jīng)相當(dāng)接近甚至替代PC機(jī)。而開源的Android系統(tǒng)為開發(fā)者移植PC應(yīng)用程序提供了技術(shù)上的支持,因此,在PC上的Mysise系統(tǒng)有理由也有可能被移植到Android系統(tǒng)的移動(dòng)設(shè)備上來。

1

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端本課題是研究如何開發(fā)一款A(yù)ndroid平臺(tái)上的Mysise系統(tǒng)客戶端,它將擁有同PC端基本一致的基礎(chǔ)功能,同步的信息數(shù)據(jù),界面簡潔美觀,操作簡單方便。能為XX學(xué)生使用該系統(tǒng)帶來更多的方便與快捷,也使得學(xué)校的教學(xué)設(shè)備的提供更為全面。

1.4

本人在本課題中承擔(dān)后臺(tái)邏輯處理模塊的工作。

論文主要結(jié)構(gòu)及內(nèi)容如下:

第一章緒論,介紹項(xiàng)目背景,闡述項(xiàng)目開發(fā)的意義。

第二章相關(guān)知識(shí)介紹,介紹項(xiàng)目開發(fā)的相關(guān)技術(shù)與知識(shí)。

第三章系統(tǒng)需求分析,分析系統(tǒng)開發(fā)的各方面需求,為設(shè)計(jì)做準(zhǔn)備。

第四章系統(tǒng)功能設(shè)計(jì),介紹系統(tǒng)主要功能模塊的設(shè)計(jì)。

第五章系統(tǒng)功能實(shí)現(xiàn),介紹系統(tǒng)的后臺(tái)邏輯處理模塊的具體實(shí)現(xiàn)。

第六章系統(tǒng)測試,通過測試驗(yàn)收產(chǎn)品。

2

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

2課題相關(guān)知識(shí)介紹

2.1Android平臺(tái)介紹

2.1.1Android系統(tǒng)簡介

Android一詞的本義指“機(jī)器人”,同時(shí)也是Google于2007年11月5日宣布的基于Linux平臺(tái)的開源操作系統(tǒng)的名稱。它包括操作系統(tǒng)、中間件、用戶界面和應(yīng)用程序——移動(dòng)工作所需要的全部軟件,而且不存在任何以往阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專業(yè)權(quán)障礙。目前,最新版本為Android2.3Gingerbread(姜餅)和Android4.0IceCreamSandwich(冰激凌三明治)。

雖然Android是Google公司推出的產(chǎn)品,但更貼切的說法應(yīng)該是開放聯(lián)盟的產(chǎn)品。開放聯(lián)盟是由大約30家公司組成的聯(lián)盟,致力于將“更好的”和“開放的”推向市場。其網(wǎng)站上的一句話很好的闡述了這一點(diǎn):“Android是本著成為第一個(gè)開放、完整、免費(fèi)。專門針對移動(dòng)設(shè)備開發(fā)的平臺(tái)這一目標(biāo),完全從零開始創(chuàng)建的?!?/p>

2.1.2Android系統(tǒng)的特點(diǎn)

1、開放性。Google與開放聯(lián)盟合作開發(fā)了Android,Google通過與運(yùn)營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望通過建立標(biāo)準(zhǔn)化、開放式的移動(dòng)軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開放式的生態(tài)系統(tǒng)。

2、應(yīng)用程序無界限。Android上的應(yīng)用程序可以通過標(biāo)準(zhǔn)API訪問核心移動(dòng)設(shè)備功能。通過互聯(lián)網(wǎng),應(yīng)用程序可以聲明它們的功能可供其他應(yīng)用程序使用。

3、應(yīng)用程序是在平等的條件下創(chuàng)建的。移動(dòng)設(shè)備上的應(yīng)用程序可以被替換或擴(kuò)展,即使是撥號(hào)程序或主屏幕這樣的核心組件。

4、應(yīng)用程序可以輕松地嵌入網(wǎng)絡(luò)組件。應(yīng)用程序可以輕松地嵌入HTML、JavaScript和樣式表,還可以通過WebView顯示網(wǎng)絡(luò)內(nèi)容。

5、應(yīng)用程序可以并行運(yùn)行。Android是一種完整的多任務(wù)環(huán)境,應(yīng)用程序可以在其中并行運(yùn)行。在后臺(tái)運(yùn)行時(shí),應(yīng)用程序可以生成通知以引起注意。

3

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

2.2JSoup簡介

JSoup是一款Java的HTML解析器,可直接解析某個(gè)URL地址、HTML文本內(nèi)容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于jQuery的操作方法來取出和操作數(shù)據(jù)。由于JSoup良好的可擴(kuò)展性API設(shè)計(jì),開發(fā)者可以通過選擇器的定義來開發(fā)出非常強(qiáng)大的HTML解析功能。JSoup是基于MIT協(xié)議發(fā)布的,可放心使用于商業(yè)項(xiàng)目。

JSoup的主要功能如下:

1.從一個(gè)URL,文件或字符串中解析HTML;

2.使用DOM或CSS選擇器來查找、取出數(shù)據(jù);

3.可操作HTML元素、屬性、文本;

在無法得到學(xué)校信息管理系統(tǒng)的數(shù)據(jù)庫數(shù)據(jù)的情況下,在JAVA編程語言中,使用JSoup來解析網(wǎng)頁從而獲取所需要的數(shù)據(jù),成為了開發(fā)此系統(tǒng)必要的技術(shù)。

2.3開發(fā)工具的選用

2.3.1Eclipse簡介

Eclipse是一個(gè)開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。利用它我們可以在項(xiàng)目的編碼、整合方面極大的提高工作效率,它是功能豐富的Java集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能。

簡而言之,通過配置Android必要的開發(fā)組件和插件,使用Java編程語言,Eclipse將完整支持Android程序的開發(fā)。

2.3.2Photoshop簡介

Photoshop是平面圖像處理業(yè)界霸主Adobe公司推出的跨越PC和MAC兩界首屈一指的大型圖像處理軟件。它功能強(qiáng)大,操作界面友好,得到了廣大第三方開發(fā)廠家的支持,從而也贏得了眾多的用戶的青睞。

4

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端Photoshop支持眾多的圖像格式,對圖像的常見操作和變換做到了非常精細(xì)的程度,使得任何一款同類軟件都無法望其頸背;它擁有異常豐富的插件(在Photoshop中叫濾鏡),熟練后您自然能體會(huì)到“只有想不到,沒有做不到”的境界。

2.4系統(tǒng)運(yùn)行環(huán)境的搭建

1、安裝Eclipse3.7:

Eclipse3.7是一款了綠色軟件,下載后直接解壓即可,第一次運(yùn)行時(shí)會(huì)提示配置工作空間,我選擇的路徑是D:\Eclipse_Android_Workspace

2、安裝JavaJDK:

JDK(JavaDevelopmentKit)是一切Java應(yīng)用程序的基。Windows系統(tǒng)下,直接運(yùn)行.exe文件安裝,安裝完成后,將安裝路徑下的bin文件夾路徑配置到系統(tǒng)環(huán)境變中。

3、下載AndroidSDK:需要先下載Android在Windows平臺(tái)上的的SDK,官方網(wǎng)站上下載最新2.3版本,解壓后點(diǎn)擊SDKManager.exe即可下載所需要的SDK版本。然后就要將AndroidSDK路徑下的tools文件夾路徑配置到系統(tǒng)環(huán)境變中。

4、安裝Android開發(fā)插件ADT:

啟動(dòng)Eclipse,打開Help->SoftwareUpdates,選擇AvailableSoftware標(biāo)簽,單擊AddSite?,輸入“://dl-ssl.google/android/eclipse/”。然后就能看到可安裝的插件,看到有AndroidDevelopmentTools和AndroidDDMS,全勾選,install安裝,成功,提示重啟Eclipse。

5、配置AndroidSDK路徑:

重啟Eclipse后,點(diǎn)擊菜單Window->Preference,打開配置窗口,在左邊選中Android,在右邊輸入AndroidSDK的路徑,點(diǎn)擊OK即可。

6、創(chuàng)建AVD:為使Android應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建AVD。在Eclipse中選擇Window->AVDManager,點(diǎn)擊new,填入Name,選擇Target的API,SDCard大小任意(推薦256M),選擇分辨率為WVGA800(480*800)。點(diǎn)擊CreateAVD即可完成創(chuàng)建AVD。

至此Android開發(fā)環(huán)境搭建完成。

5

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

3系統(tǒng)需求分析

3.1系統(tǒng)設(shè)計(jì)的總體規(guī)則

本項(xiàng)目的主要設(shè)計(jì)規(guī)則有:

簡單性:在實(shí)現(xiàn)系統(tǒng)的功能的同時(shí),盡量讓平臺(tái)操作簡單,這是非常重要的。美觀性:在實(shí)現(xiàn)系統(tǒng)的功能的同時(shí),盡量提供給用戶較高的視覺享受和操作體驗(yàn)。

針對性:該系統(tǒng)設(shè)計(jì)是XX信息管理系統(tǒng)的定向開發(fā)設(shè)計(jì),所以具有專業(yè)突出和很強(qiáng)的針對性。

實(shí)用性:該系統(tǒng)能完成Mysise系統(tǒng)各個(gè)子板塊的信息查看功能,具有良好的實(shí)用性。

3.2可行性分析

開發(fā)新系統(tǒng)的要求往往來自對原系統(tǒng)有更高的要求。由于原Mysise系統(tǒng)僅僅支持PC端的使用,而新系統(tǒng)則是針對移動(dòng)端的支持,故而有開發(fā)的必要。

可行性研究是為了弄清楚系統(tǒng)開發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的過程,實(shí)際上是一次大大簡化系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的,也是很重要的,經(jīng)過最初的設(shè)計(jì)目標(biāo)和理論知識(shí)得出以下五點(diǎn)的可行性分析:

(1)技術(shù)上的可行性。

由于選用的開發(fā)平臺(tái)Android是一個(gè)開源的平臺(tái),這意味著開發(fā)者可以獲取絕大部分的開源代碼,并且Google提供了一套成熟又全面的API,對于系統(tǒng)的開發(fā),基本上不存在較大技術(shù)難點(diǎn)。

(2)數(shù)據(jù)獲取的可行性。

由于開發(fā)的系統(tǒng)是一個(gè)校園信息管理系統(tǒng),因?yàn)楸仨毚嬖谝粋€(gè)學(xué)生信息的數(shù)據(jù)庫。目前的情況將導(dǎo)致我們無法直接得到學(xué)校提供的數(shù)據(jù)庫,而我們選用了另外一個(gè)方法。因?yàn)樵撓到y(tǒng)與PC端的數(shù)據(jù)一致,而PC端的使用載體是瀏覽器,這樣我們便可以在Android上使用JSoup技術(shù)解析網(wǎng)頁而獲取所需要的信息數(shù)據(jù)。6

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

(3)運(yùn)行可行性。該系統(tǒng)需要搭建Android平臺(tái)開發(fā)環(huán)境,使用AVD虛擬機(jī),并且能正常連接網(wǎng)絡(luò),就可以正常運(yùn)行。

(4)經(jīng)濟(jì)可行性:該平臺(tái)設(shè)計(jì)只是作為本人的畢業(yè)設(shè)計(jì),又因?yàn)楸救说脑O(shè)計(jì)能力有限,其功能還不能完善,所以沒有什么經(jīng)濟(jì)效益可談。

(5)法律可行性:該平臺(tái)是作為畢業(yè)設(shè)計(jì)與商業(yè)無關(guān),又因?yàn)槭亲灾鏖_發(fā)設(shè)計(jì),因此不會(huì)構(gòu)成侵權(quán),在法律上是可行的。

通過以上的可行性分析,我將在Android平臺(tái)開發(fā)環(huán)境下,采用Java語言和Eclipse編程工具,對該系統(tǒng)進(jìn)行研究開發(fā)。

3.3系統(tǒng)運(yùn)行環(huán)境需求

1、開發(fā)者(PC端):

系統(tǒng)開發(fā)工具:Eclipse3.7

運(yùn)行平臺(tái):WindowsXP/Windows7/Linux

運(yùn)行環(huán)境:Javajdk-1.6、Android_2.3.3_SDK、ADT16.01

模擬器參數(shù):Android2.3.3AVD(分辨率480*800、推薦內(nèi)存256MB)

2、使用者(移動(dòng)設(shè)備端):

移動(dòng)終端系統(tǒng)需求:Android系統(tǒng)

移動(dòng)終端硬件需求:屏幕分辨率480*800、CPU主頻>=640MHz、運(yùn)行內(nèi)存

RAM>=256M、可用內(nèi)存ROM>=64M

網(wǎng)絡(luò)需求:WIFI/GSM/WCDMA/CDMA2000

3.4用戶需求分析

本課題研究的校園信息管理系統(tǒng)——Mysise系統(tǒng),主要面向的使用對象是XX大學(xué)XX軟件學(xué)院在校大學(xué)生。

每位XX在校學(xué)生都擁有Mysise系統(tǒng)帳號(hào)(唯一的學(xué)號(hào)及密碼),系統(tǒng)對于學(xué)生的學(xué)習(xí)及生活非常重要。大部分學(xué)生擁有Android系統(tǒng)智能或者平板電腦,且習(xí)慣使用移動(dòng)設(shè)備來完成可能的日常應(yīng)用,當(dāng)然也渴望Mysise系統(tǒng)Android客戶端來為其學(xué)習(xí)生活提供便捷。無論在教學(xué)區(qū)還是生活區(qū),較好的網(wǎng)絡(luò)覆蓋為其使7

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端用網(wǎng)絡(luò)應(yīng)用提供了保障。

3.5系統(tǒng)的設(shè)計(jì)目標(biāo)

本課題的設(shè)計(jì)目標(biāo)是在Android平臺(tái)上實(shí)現(xiàn)一個(gè)校園信息管理系統(tǒng)。要求該系統(tǒng)擁有美觀的UI界面,供用戶登錄、查看信息使用,包括:查看個(gè)人信息、查看課程表、查看考試時(shí)間、查看考勤信息等功能。系統(tǒng)擁有快速的操作體驗(yàn),代碼編寫使用了多線程技術(shù),使得界面顯示與網(wǎng)絡(luò)連接、數(shù)據(jù)處理可以同時(shí)進(jìn)行。系統(tǒng)信息數(shù)據(jù)來源取自PC端系統(tǒng)的網(wǎng)絡(luò),保證了準(zhǔn)確與同步。

3.6用例分析與建模

3.6.1用例1登錄

參與者:用戶

前置條件:正確學(xué)號(hào)已經(jīng)存在。

目的:進(jìn)入系統(tǒng)

綜述:

1.用戶填寫學(xué)號(hào)及密碼

2.系統(tǒng)驗(yàn)證信息,將用戶填寫的信息傳送到系統(tǒng)驗(yàn)證。

3.登錄成功,顯示主菜單信息。

替代過程:使用該系統(tǒng)的用戶必須先登錄,若登錄失敗,是由于客戶輸入的帳號(hào)或者密碼錯(cuò)誤,系統(tǒng)允許客戶重新輸入。

3.1登錄模塊用例圖

8

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

3.2用戶登錄流程圖

3.6.2用例2主菜單

前置條件:登錄成功。

參與者:用戶

目的:讓用戶選擇要執(zhí)行的功能

綜述:本界面設(shè)置4個(gè)功能按鈕,讓用戶選擇要執(zhí)行的功能,隨后執(zhí)行響應(yīng)的操作。

代替過程:如果用戶注銷登錄,則進(jìn)入用例1。

9

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

3.3主菜單功能用例圖

3.6.3用例3查看個(gè)人信息

前置條件:于用例2選擇了個(gè)人信息按鈕。

參與者:用戶

目的:讓用戶查看個(gè)人信息

綜述:

1.查看基本信息:用戶進(jìn)入此功能頁面能看到個(gè)人基本信息。

2.查看必修課信息:用戶進(jìn)入此功能頁面能看到必修課信息。

3.查看選修課信息:用戶進(jìn)入此功能頁面能看到選修課信息。

代替過程:

1.該界面下方設(shè)置3個(gè)功能按鈕,可選擇查看需要的信息。

2.如果用戶返回,則進(jìn)入用例2。

3.4個(gè)人信息功能用例圖

3.6.4用例4查看課程表信息

前置條件:于用例2選擇了課程表按鈕。

參與者:用戶

目的:讓用戶查看課程表信息

綜述:查看當(dāng)天課程表信息

代替過程:

10

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

1.該界面下方設(shè)置5個(gè)功能按鈕,可選擇查看星期一到星期五的課程信息。

2.如果用戶返回,則進(jìn)入用例2。

3.5課程信息功能用例圖

3.6.5用例5查看考試時(shí)間表

前置條件:于用例2選擇了考試時(shí)間按鈕。

參與者:用戶

目的:讓用戶查看考試時(shí)間表

綜述:查看目前的考試時(shí)間安排

代替過程:如果用戶返回,則進(jìn)入用例2。

3.6考試時(shí)間功能用例圖

3.6.6用例6查看考勤信息

11

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

前置條件:于用例2選擇了考勤信息按鈕。

參與者:用戶

目的:讓用戶查看考勤信息

綜述:查看當(dāng)前學(xué)年學(xué)期的考勤信息

代替過程:如果用戶返回,則進(jìn)入用例2。

3.7考勤信息功能用例圖

12

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

4系統(tǒng)的功能模塊設(shè)計(jì)

4.1Mysise系統(tǒng)功能結(jié)構(gòu)圖

4.1系統(tǒng)功能結(jié)構(gòu)示意圖

4.2系統(tǒng)的功能分析與要求

13

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端經(jīng)過前期的思考和研究,總結(jié)出該系統(tǒng)需要完成的一些具體功能,分析如下:

1、能完成網(wǎng)絡(luò)連接并實(shí)現(xiàn)真實(shí)帳號(hào)登錄

2、能完成對板塊頁面的解析并獲取需要的信息數(shù)據(jù),通過后臺(tái)邏輯處理,實(shí)現(xiàn)查看信息的顯示。

3、使用多線程同步處理前臺(tái)界面的刷新和后臺(tái)網(wǎng)絡(luò)處理。

4、可考慮添加的周邊功能,例如XX新聞、XX地圖。

4.3系統(tǒng)功能模塊的設(shè)計(jì)

4.3.1個(gè)人信息模塊

4.2個(gè)人信息模塊流程圖

4.3.2課程信息模塊

14

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

4.3課程信息模塊流程圖

4.3.3考試時(shí)間模塊

4.4考試時(shí)間模塊流程圖

4.3.4考勤信息模塊

15

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

4.5考勤信息模塊流程圖

4.4系統(tǒng)用例圖

4.6用戶前臺(tái)系統(tǒng)用例圖

16

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

4.7程序后臺(tái)系統(tǒng)用例圖

17

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

5系統(tǒng)具體實(shí)現(xiàn)—邏輯處理模塊實(shí)現(xiàn)

5.1項(xiàng)目結(jié)構(gòu)示意圖

5.1項(xiàng)目結(jié)構(gòu)示意圖

5.2多線程技術(shù)在項(xiàng)目上的應(yīng)用

在跳轉(zhuǎn)到每一個(gè)功能頁面的時(shí)候,因?yàn)閱尉€程的順序邏輯執(zhí)行,會(huì)出現(xiàn)這樣的情況:只有執(zhí)行完前一句代碼才會(huì)執(zhí)行下一句代碼。而我們的程序表現(xiàn)出來給用戶的頁面信息又是必須先從網(wǎng)絡(luò)獲取數(shù)據(jù)后再表現(xiàn)出來,這樣的網(wǎng)絡(luò)工作相對來說是比較耗時(shí)的,同時(shí)也就會(huì)使程序跳轉(zhuǎn)后出現(xiàn)黑屏的情況,只有等待網(wǎng)絡(luò)工作處理完后才出現(xiàn)UI界面。

18

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端有為了讓程序避免處理網(wǎng)絡(luò)工作這樣耗時(shí)比較長的操作而導(dǎo)致頁面刷新緩慢的尷尬現(xiàn)象,我們使用了多線程來分開處理UI刷新跟網(wǎng)絡(luò)操作。

具體代碼如下:

//創(chuàng)建子線程來處理網(wǎng)絡(luò)工作

Threadt=newThread(){publicvoidrun(){//網(wǎng)絡(luò)工作

netWork();

//啟動(dòng)UI線程

};t.start();//啟動(dòng)子線程}handler.post(updateResults);

//更新UIpublicvoidupdateUI(){??

}

//網(wǎng)絡(luò)工作具體實(shí)現(xiàn)

publicvoidnetWork(){??

}//UI線程RunnableupdateResults=newRunnable(){publicvoidrun(){updateUI();}};

雖然取得數(shù)據(jù)后的UI刷新還是必須等待網(wǎng)絡(luò)工作netWork()的完成,但那已經(jīng)是子線程的事了,主線程還是可以順利地執(zhí)行下去,先將界面展現(xiàn)給用戶,給用戶一種程序響應(yīng)速度很快的感覺。

5.3主菜單頁面邏輯處理

系統(tǒng)通過前面的網(wǎng)絡(luò)連接跟登錄驗(yàn)證之后(網(wǎng)絡(luò)連接模塊為同組成員饒澤華的19

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端工作),便來到了主菜單界面。這個(gè)部分的}Elementlink=doc.select("td[onclick]").get(i);returnlink.attr("onclick");

為了減少代碼的重復(fù),把這部分的實(shí)現(xiàn)寫成一個(gè)方法,只需要傳入表示順序的i值即可得到相應(yīng)的20

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端到了這一步,infoUrl才是真正的絕對地址,獲取個(gè)人信息模塊的地址工作才算完成。

同理,可以取得其他三個(gè)子功能模塊的地址,具體如下:

1、課程表部分:

5.3主菜單頁面源碼(課程表部分)圖

定位代碼及截取代碼,最終取得curriUrl:

StringcurricLinkStr=getLink(1);

curricUrl=baseUrl+curricLinkStr.substring(40,curricLinkStr.length()-1);

2、考試時(shí)間表部分:

5.4主菜單頁面源碼(考試時(shí)間表部分)圖

定位代碼及截取代碼,最終取得timeUrl:

StringtimeLinkStr=getLink(2);

timeUrl=baseUrl+timeLinkStr.substring(49,timeLinkStr.length()-1);

3、考勤信息部分:

5.5主菜單頁面源碼(考勤信息部分)圖

定位代碼及截取代碼,最終取得attendUrl:

StringattendLinkStr=getLink(3);

21

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端attendUrl=baseUrl+attendLinkStr.substring(49,attendLinkStr.length()-1);

5.4個(gè)人信息頁面邏輯處理

個(gè)人信息頁面的邏輯處理,主要工作還是使用JSoup技術(shù)解析網(wǎng)頁,先將基本信息的數(shù)據(jù)取得,顯示出來。

例如獲取學(xué)號(hào)信息,頁面源代碼如下:

5.6個(gè)人信息頁面源碼(學(xué)號(hào)部分)圖

學(xué)號(hào)信息是在div標(biāo)簽中的文本,具體實(shí)現(xiàn)代碼如下:

//抽出div標(biāo)簽中的文本publicStringgetDiv(inti){

}Elementdiv=doc.select("div").get(i);returndiv.text()+"\n";

為了減少代碼的重復(fù),把這部分的實(shí)現(xiàn)寫成一個(gè)方法,只需要傳入表示順序的i值即可得到相應(yīng)的內(nèi)容。

取得學(xué)號(hào)的代碼:Stringnum="學(xué)號(hào):"+getDiv(2);

同理,個(gè)人基本信息的其他信息數(shù)據(jù)也是通過定位,調(diào)用getDiv方法來獲得,具體實(shí)現(xiàn)代碼如下:

5.7個(gè)人信息頁面源碼(姓名部分)圖

Stringname="姓名:"+getDiv(3);

22

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端Stringgrade="年級(jí):"+getDiv(4);

Stringspecial="專業(yè):"+getDiv(5);

Stringidentity="身份證:"+getDiv(6);

Stringemail="電子郵箱:"+getDiv(7);

Stringteacher="班主任:"+getDiv(8);

Stringcounselor="輔導(dǎo)員:"+getDiv(9);

Stringrequired="必修課已獲得學(xué)分:"+getDiv(17);

Stringelective="選修課已獲得學(xué)分:"+getDiv(22);

Stringaccumulate="累計(jì)已獲得學(xué)分:"+getDiv(26);

Stringindispensable="本專業(yè)本年級(jí)畢業(yè)需修滿學(xué)分:"+getDiv(34);

實(shí)際顯示效果:

5.8基本信息界面圖

本子功能模塊還具備了查看必修課信息和選修課信息的功能,我在界面下方設(shè)23

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端置了3個(gè)按鈕,分別設(shè)置了對應(yīng)的操作,會(huì)將必修課信息和選修課信息也顯示出來,響應(yīng)速度非???。當(dāng)然了,數(shù)據(jù)的取得還是要解析頁面,具體如下:

例如取得必修課信息數(shù)據(jù),網(wǎng)頁源代碼是:

5.9個(gè)人信息頁面源碼(必修課信息部分)圖

實(shí)際上,必修課信息是存放在頁面第7個(gè)table下的,我通過遍歷第7個(gè)table標(biāo)簽下的tr標(biāo)簽、td標(biāo)簽可以取得所有必修課信息,而在屏幕上顯示,我覺得有一些相對雞肋的信息可以不顯示出來,因此只選用了課程代碼、課程名稱和成績,這樣3個(gè)信息已經(jīng)足夠代表一門課程,讓界面簡潔易看,也讓處理速度更快。

具體實(shí)現(xiàn)代碼:

//解析網(wǎng)頁,取得必修課信息

publicvoidgetRequired(){

inti=0;Strings[]=newString[10];//獲得第7個(gè)table標(biāo)簽Elementtable=doc.select("table").get(6);//獲得第7個(gè)table標(biāo)簽下的tr標(biāo)簽Elementstrs=table.select("tr");if(trs!=null){//遍歷第5個(gè)table標(biāo)簽下的tr標(biāo)簽for(Elementtr:trs){//獲得第5個(gè)table標(biāo)簽下的tr標(biāo)簽下的td標(biāo)簽Elementstds=tr.select("td");if(tds!=null){//遍歷第5個(gè)table標(biāo)簽下的tr標(biāo)簽下的td標(biāo)簽for(Elementtd:tds){}if(s[1]!=null){24//將每個(gè)td標(biāo)簽的文本存入字符串?dāng)?shù)組ss[i]=td.text();i++;

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

}}}}i=0;//按照格式輸出requiredStr=requiredStr+s[1]+":"+s[2]+"[成績:"+s[8]+"]\n";}

同理,選修課信息的數(shù)據(jù)取得,也跟必修課是一樣的,只不過必修課信息是存放在頁面第10個(gè)table標(biāo)簽下的。具體代碼實(shí)現(xiàn)如下:

//解析網(wǎng)頁,取得選修課信息

publicvoidgetElective(){

}inti=0;Strings[]=newString[9];//獲得第10個(gè)table標(biāo)簽下Elementtable=doc.select("table").get(9);//獲得第10個(gè)table標(biāo)簽下的tr標(biāo)簽Elementstrs=table.select("tr");if(trs!=null){}//遍歷第10個(gè)table標(biāo)簽下的tr標(biāo)簽for(Elementtr:trs){}//獲得第10個(gè)table標(biāo)簽下的tr標(biāo)簽下的td標(biāo)簽Elementstds=tr.select("td");if(tds!=null){}//遍歷第10個(gè)table標(biāo)簽下的tr標(biāo)簽下的td標(biāo)簽for(Elementtd:tds){}if(s[1]!=null){}i=0;//按照格式輸出electiveStr=electiveStr+s[0]+":"+s[1]+"[成績://將每個(gè)td標(biāo)簽的文本存入字符串?dāng)?shù)組ss[i]=td.text();i++;"+s[7]+"]\n";

25

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端實(shí)際顯示效果:

5.10必修課信息與選修課信息界面圖

5.5課程表頁面邏輯處理

課程表頁面的邏輯處理,主要工作還是使用JSoup技術(shù)解析網(wǎng)頁,獲取完整的課程表,然后獲取當(dāng)天的日期,將當(dāng)天的課程信息顯示出來。

取得系統(tǒng)當(dāng)天日期,網(wǎng)頁源代碼是:

5.11課程表頁面源碼(日期信息部分)圖

只需要找到帶有face屬性的font標(biāo)簽即可,實(shí)現(xiàn)代碼:

//取得font標(biāo)簽中含有face屬性的文本內(nèi)容,即是當(dāng)天日期

Elementfont=doc.select("font[face]").first();

26

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端Stringdate=font.text();

這樣,字符串data就是我們需要的當(dāng)天日期。

取得完整的課程表,網(wǎng)頁源代碼是:

5.12課程表頁面源碼(課程表部分)圖

先仔細(xì)觀察源代碼,課程表信息是存放在頁面第7個(gè)table中的,解讀存放內(nèi)容的規(guī)則:橫向看,第一行是標(biāo)題,可以得知每行8個(gè)單元格的內(nèi)容是對應(yīng)一周7天的課程信息,第二行起是每一個(gè)時(shí)間段的課程;縱向看,第一列是時(shí)間段標(biāo)題,然后后面7列則是對應(yīng)了一周7天。這樣的一個(gè)表格,從解析上來講,應(yīng)該從橫向來解析,因?yàn)槊恳恍惺且粋€(gè)tr標(biāo)簽,而每一行的tr標(biāo)簽包含了8個(gè)td標(biāo)簽,即每一行的每個(gè)單元格。在每取得一行數(shù)據(jù)后,使用5個(gè)字符串?dāng)?shù)組來存放周一到周五的課程數(shù)據(jù),這樣再解析完成后,我們所需要的課程信息就在這5個(gè)字符串?dāng)?shù)組中了,且順序?qū)?yīng)了每一天的每一個(gè)時(shí)間段。

具體代碼實(shí)現(xiàn)如下:

//解析網(wǎng)頁,取得所有課程信息

publicvoidgetCurrics(){

inti=0;intj=0;Strings[]=newString[8];//獲得第7個(gè)table標(biāo)簽Elementtable=doc.select("table").get(6);//獲得第7個(gè)table標(biāo)簽下的tr標(biāo)簽Elementstrs=table.select("tr");27

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

}}}}thursday[j]=s[4];//表格每一行的第5格//遍歷第7個(gè)table標(biāo)簽下的tr標(biāo)簽for(Elementtr:trs){//獲得第7個(gè)table標(biāo)簽下的tr標(biāo)簽下的td標(biāo)簽Elementstds=tr.select("td");if(tds!=null){for(Elementtd:tds){}i=0;monday[j]=s[1];//表格每一行的第2格內(nèi)容存入monday字符串?dāng)?shù)組tuesday[j]=s[2];//表格每一行的第3格內(nèi)容存入tuesday字符串?dāng)?shù)組wednesday[j]=s[3];//表格每一行的第4格內(nèi)容存入wednesday字符串?dāng)?shù)//將每個(gè)td標(biāo)簽的文本存入字符串?dāng)?shù)組ss[i]=td.text();i++;

跳轉(zhuǎn)頁面的最初會(huì)顯示當(dāng)天對應(yīng)的課程,當(dāng)然了,如果是周末則會(huì)顯示無課程。隨后在界面下方設(shè)置了5個(gè)按鈕,分別對應(yīng)了星期一到星期五,可供用戶查看一周的課程,點(diǎn)擊則會(huì)顯示相應(yīng)內(nèi)容,響應(yīng)速度非??臁?/p>

實(shí)際顯示效果:

28

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

5.13課程表界面圖

5.6考試時(shí)間頁面邏輯處理

考試時(shí)間表頁面的邏輯處理,主要工作還是使用JSoup技術(shù)解析網(wǎng)頁,獲取完整考試時(shí)間信息,顯示出來。

這個(gè)頁面稍微有些特殊,因?yàn)楫?dāng)不存在考試時(shí)間的時(shí)候,是沒有那個(gè)存放考試時(shí)間信息的表格的,這樣,我們就必須先來一個(gè)判斷,當(dāng)存在第5個(gè)table標(biāo)簽的時(shí)候,第5個(gè)table就是存放考試時(shí)間信息的表格,而如果不然,則是系統(tǒng)還沒給出考試時(shí)間表。

而對于這個(gè)表格的解析,也是比較簡單,每一行代表了一個(gè)考試課程的信息,將每一個(gè)單元格的內(nèi)容取出,就能組合成我們需要表現(xiàn)出來的考試信息。

具體代碼實(shí)現(xiàn)如下

Strings[]=newString[8];

inti=0;

29

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端Elementstables=doc.select("table");

//當(dāng)有科目的考試時(shí)間存在時(shí)

}if(tables.size()>=5){//獲得第5個(gè)table標(biāo)簽Elementtable=doc.select("table").get(4);//獲得第5個(gè)table標(biāo)簽下的tr標(biāo)簽Elementstrs=table.select("tr");if(trs!=null){}textViewStr="目前沒有需要考試的科目!";//遍歷第5個(gè)table標(biāo)簽下的tr標(biāo)簽for(Elementtr:trs){}//獲得第5個(gè)table標(biāo)簽下的tr標(biāo)簽下的td標(biāo)簽Elementstds=tr.select("td");if(tds!=null){}//遍歷第5個(gè)table標(biāo)簽下的tr標(biāo)簽下的td標(biāo)簽for(Elementtd:tds){}if(s[0]!=null){}i=0;//按照格式輸出textViewStr=textViewStr+"課程代碼:"+s[0]+"\n課程名稱:"+s[1]+"\n考試日期:"+s[2]+"\n考試時(shí)間:"+s[3]+"\n考場名稱:"+s[5]+"\n考試座位:"+s[6]+"\n\n";//將每個(gè)td標(biāo)簽的文本存入字符串?dāng)?shù)組ss[i]=td.text();i++;}else{

實(shí)際顯示效果:

30

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

5.14考試時(shí)間界面圖

5.7考勤信息頁面邏輯處理

考勤信息頁面的邏輯處理,主要工作還是使用JSoup技術(shù)解析網(wǎng)頁,獲取完整考勤信息,顯示出來。

這個(gè)頁面與考試時(shí)間表頁面類似,也會(huì)出現(xiàn)沒有考勤的情況,當(dāng)用戶該學(xué)期沒有課程的情況下將不存在考勤信息。

取得完整的考勤信息,網(wǎng)頁源代碼是:

31

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

5.15考勤信息頁面源碼圖

當(dāng)存在第7個(gè)table的時(shí)候,遍歷第7個(gè)table下的tr標(biāo)簽、td標(biāo)簽,從而取得考勤信息。

具體代碼實(shí)現(xiàn)如下:

//獲得第7個(gè)table標(biāo)簽

Elementtable=doc.select("table").get(6);

//獲得第7個(gè)table標(biāo)簽下的tr標(biāo)簽

Elementstrs=table.select("tr");

Strings[]=newString[3];

inti=0;

if(trs!=null){

}

if(textViewStr.contains("課程信息")){

textViewStr="本學(xué)年學(xué)期暫無課程信息!";//遍歷第7個(gè)table標(biāo)簽下的tr標(biāo)簽for(Elementtr:trs){//獲得第7個(gè)table標(biāo)簽下的tr標(biāo)簽下的td標(biāo)簽Elementstds=tr.select("td");if(tds!=null){}//遍歷第7個(gè)table標(biāo)簽下的tr標(biāo)簽下的td標(biāo)簽for(Elementtd:tds){}if(s[0]!=null){}i=0;//按照格式輸出textViewStr=textViewStr+"課程編號(hào):"+s[0]+"\n課程名稱://將每個(gè)td標(biāo)簽的文本存入字符串?dāng)?shù)組ss[i]=td.text();i++;"+s[1]+"\n詳細(xì)信息:"+s[2]+"\n\n";}

32

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端}

實(shí)際顯示效果:

5.16考勤信息界面圖

33

XX大學(xué)XX件學(xué)院軟件工程系XXX畢業(yè)論文—校園信息管理平臺(tái)下的Android客戶端

6系統(tǒng)測試

6.1使用DDMS

在Eclipse中,帶有DDMS可視化調(diào)試界面,我們使用DDMS中的LogCat來捕捉程序運(yùn)行中的信息。例如:

1、網(wǎng)絡(luò)連接時(shí),連接是否成功,使用多少時(shí)間,發(fā)送接收多少數(shù)據(jù)包。

2、一旦程序有任何不安全警告或者是運(yùn)行錯(cuò)誤,都會(huì)被LogCat捕捉,并且精確的告知是何出錯(cuò)信息,在程序那個(gè)類的第幾行,行遍我們差錯(cuò)。

3、我們還可以自定義捕捉信息,比如捕捉帶有System.out

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論