




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJHGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF;DS 摘 要Android智能手機(jī)越來越普及。相比電腦,手機(jī)攜帶方便。Android具備強(qiáng)大的功能,支持復(fù)雜軟件的運(yùn)行。如果在手機(jī)上有一學(xué)生個(gè)人事務(wù)管理軟件。對(duì)學(xué)生的一些日程事務(wù)進(jìn)行管理,將能夠極大方便學(xué)生。個(gè)人事務(wù)管理系統(tǒng)Personal Affairs Management System (縮寫為PAMS)。本系統(tǒng)是基于現(xiàn)代生活的理念,結(jié)合日常生活中您的需求而產(chǎn)生的一款貼近生活的個(gè)人事務(wù)管理系統(tǒng)。此系統(tǒng)主要針對(duì)于個(gè)人事務(wù)的完整統(tǒng)籌與管理,對(duì)
2、于提高生活質(zhì)量完善生活內(nèi)容有很好的作用。也更易于了解自身價(jià)值與需求。整個(gè)系統(tǒng)主要在于實(shí)現(xiàn)學(xué)生個(gè)人事務(wù)添加、查詢等功能;系統(tǒng)還應(yīng)具備事務(wù)提醒功能。系統(tǒng)的關(guān)鍵問題是系統(tǒng)功能設(shè)計(jì)。本論文主要介紹了對(duì)基于Android平臺(tái)的學(xué)生個(gè)人事務(wù)管理系統(tǒng)的部分分析,設(shè)計(jì)和開發(fā)的全部過程。運(yùn)用UML圖,程序流程圖等對(duì)學(xué)生個(gè)人事務(wù)管理系統(tǒng)的設(shè)計(jì)過程進(jìn)行詳細(xì)的說明。全文共分為緒論、需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、測(cè)試五部分。關(guān)鍵詞: 個(gè)人事務(wù)管理;Android;WEB;JAVADSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJDSJKFHJKDH FJDHJKFH KDSJH JKDHF
3、 JKDS HKJABSTRACTAndroid smart phones are becoming increasingly popular . Compared to computers, mobile phones easy to carry . Android has powerful features to support the operation of complex software . If a student personal affairs management software on the phone . Management, will greatly facili
4、tate students on the student's schedule Affairs .On-line examination system designed to achieve examination of some of the paperless management, subject's test through Internet or LAN. This paper mainly introduced for JAVA on-line examination system exam part analysis, design and development
5、 entire process. Using UML diagrams, etc. On the program flowchart design process of the online management subsystem for detailed instructions. Full text is divided into the introduction, requirement analysis, system design and system implementation, testing five parts. Personal Affairs Management S
6、ystem(PAMS)This system is based on the concept of modern life , combined with a close to your needs arising in the daily life of individuals living transaction management system . This system is mainly for the complete co - ordination and management of personal affairs , for improving the quality of
7、 life to improve the living contents very good role . Easier to understand their own values and needs .The whole system is that students ' personal affairs to add, query and other functions ; system should have a transaction reminder function . The key question is the system functional design .T
8、his thesis describes the part of students ' personal affairs management system based on the Android platform analysis, design and development process . Use of UML diagrams , process flow chart and detailed description of the design process of the students ' personal affairs management system
9、 . The full text is divided into Introduction , requirements analysis, system design, system implementation, testing five parts .Keywords: Personal Affairs Management System; Android; JAVADSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ目 錄緒論11. 應(yīng)用背景21.1嵌入式領(lǐng)域的開發(fā)22系統(tǒng)所用技術(shù)32.1 Android介紹32.2 Android的組件72.3 SQLit
10、e輕型數(shù)據(jù)庫92.4 JNI技術(shù)92.5 Android系統(tǒng)的有點(diǎn)93. 系統(tǒng)分析103.1 可行性分析103.2 需求分析104. 系統(tǒng)設(shè)計(jì)114.1 概要設(shè)計(jì)114.2 數(shù)據(jù)存儲(chǔ)124.2.1 SQLite124.2.2 Preference134.3 程序中的主要類134.3.1 ClassScheule類134.3.2 Addclass類和AddPlan類134.3.3 DBDataManager類144.3.4 AlarmService類144. 系統(tǒng)的實(shí)現(xiàn)155 系統(tǒng)測(cè)試205.1 單元測(cè)試205.1.1 單元測(cè)試簡(jiǎn)介205.1.2 單元測(cè)試工具215.1.3 單元測(cè)試結(jié)果215.
11、1.4 單元測(cè)試作用21結(jié)束語22參考文獻(xiàn)23DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ緒論當(dāng)前世界正大踏步地從工業(yè)時(shí)代邁向信息時(shí)代,信息化的浪潮一浪高過一浪,正席卷全球。信息化浪潮的廣度和深度,無論在技術(shù)領(lǐng)域、經(jīng)濟(jì)領(lǐng)域、社會(huì)領(lǐng)域,還是在政治領(lǐng)域上都是以前所無法比擬的。世界上眾多發(fā)達(dá)國(guó)家、新興工業(yè)化國(guó)家乃至發(fā)展中國(guó)家都相繼制定各自的信息化計(jì)劃。信息化成為普遍的社會(huì)現(xiàn)象,成為當(dāng)今社會(huì)經(jīng)濟(jì)發(fā)展重的大趨勢(shì)。信息化實(shí)際上是管理個(gè)人事務(wù)管理系統(tǒng)的應(yīng)用。管理個(gè)人事務(wù)管理系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,它的定義也隨著計(jì)算機(jī)技術(shù)和通訊技術(shù)的進(jìn)步不斷更新。在現(xiàn)階段普遍認(rèn)為管理
12、個(gè)人事務(wù)管理系統(tǒng)是人和計(jì)算機(jī)設(shè)備或其他信息處理手段組成并用于管理信息的系統(tǒng)。在現(xiàn)代社會(huì),管理個(gè)人事務(wù)管理系統(tǒng)和計(jì)算機(jī)設(shè)備不可分離,它包括計(jì)算機(jī)、網(wǎng)絡(luò)通訊設(shè)備、等硬件成分,包括操作系統(tǒng)、應(yīng)用軟件包等軟件成分,并隨著計(jì)算機(jī)技術(shù)和通訊技術(shù)的迅速發(fā)展還會(huì)有更多的內(nèi)容。在一個(gè)組織中,管理個(gè)人事務(wù)管理系統(tǒng)是一個(gè)覆蓋組織或主要部門的輔助管理的人機(jī)系統(tǒng),它和組織的管理密切相關(guān),和企業(yè)的管理模式、經(jīng)營(yíng)意識(shí)密切相關(guān),為組織的最終目標(biāo)服務(wù)。它為組織的科學(xué)化、合理化、制度化規(guī)范化管理,為組織的管理水平跨上新臺(tái)階,為組織的持續(xù)、健康、穩(wěn)定發(fā)展打下了基礎(chǔ)。在這樣一個(gè)大的背景下,我們研究傳統(tǒng)的個(gè)人事務(wù)管理系統(tǒng),都是基于PC
13、以及備忘錄等不易攜帶的工具。從而我們需要一些更加簡(jiǎn)便、易于攜帶的工具幫助我們進(jìn)行個(gè)人事務(wù)管理。Android智能手機(jī)越來越普及。相比電腦,手機(jī)攜帶方便。Android具備強(qiáng)大的功能,支持復(fù)雜軟件的運(yùn)行。如果在手機(jī)上有一學(xué)生個(gè)人事務(wù)管理軟件。對(duì)學(xué)生的一些日程事務(wù)進(jìn)行管理,將能夠極大方便學(xué)生?;贏ndroid平臺(tái)的個(gè)人事務(wù)管理軟件,更易于攜帶、也更加方便我們對(duì)自己的日常事務(wù)進(jìn)行管理。尤其是學(xué)生,一般都不記得這些。如果有這個(gè)軟件,更有益于學(xué)生對(duì)自己的事務(wù)進(jìn)行管理。1. 應(yīng)用背景步入 21 世紀(jì)以來,隨著國(guó)際互聯(lián)網(wǎng)(Internet)的迅猛發(fā)展和世界經(jīng)濟(jì)一體化的加速,網(wǎng)絡(luò)信息急劇膨脹,國(guó)際交流日益頻
14、繁,如何克服語言障礙已經(jīng)成為國(guó)際社會(huì)共同面對(duì)的問題。由于人工翻譯的方式遠(yuǎn)遠(yuǎn)不能滿足需求,利用語言信息處理技術(shù)協(xié)助人們快速獲取信息,已經(jīng)成為必然的趨勢(shì)。Android是Google推出的基于Linux內(nèi)核的軟件平臺(tái)和操作系統(tǒng)。Google已經(jīng)與Sony Ericsson、HTC、NTT DoCoMo、KDDI、Motorola等世界通訊領(lǐng)域34家公司于免費(fèi)提供達(dá)成一致,今后對(duì)于移動(dòng)通訊的影響勢(shì)必會(huì)進(jìn)一步體現(xiàn)出來。1本課題為“基于Android的多語輔助工具設(shè)計(jì)和開發(fā)”,為Android設(shè)備提供了一個(gè)本地及在線處理多國(guó)信息的解決方案。這里“多語輔助工具”是“多語輔助翻譯工具”的簡(jiǎn)稱。1.1嵌入式領(lǐng)
15、域的開發(fā)隨著計(jì)算機(jī)技術(shù)和微電子技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)應(yīng)用領(lǐng)域越來越廣泛。嵌入式系統(tǒng)將向網(wǎng)絡(luò)化、智能化、規(guī)范化、集成化方向發(fā)展。在與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合的過程中,嵌入式系統(tǒng)將對(duì)國(guó)民經(jīng)濟(jì)進(jìn)行全方位的滲透,在我國(guó)國(guó)家現(xiàn)代化進(jìn)程中發(fā)揮巨大推進(jìn)作用。隨著技術(shù)進(jìn)步的不斷加速,我們有理由相信計(jì)算機(jī)還將繼續(xù)快速發(fā)展并進(jìn)一步改變我們的生活,讓計(jì)算變得“無所不能”、“無處不在”。其中“無所不能”將是人工智能技術(shù)和超級(jí)計(jì)算機(jī)的結(jié)合,而“無所不在”則是嵌入式技術(shù)應(yīng)用的廣闊天地?,F(xiàn)在普通消費(fèi)者已經(jīng)可以從市場(chǎng)中買到數(shù)碼相機(jī)、移動(dòng)電話、打印機(jī)等眾多的數(shù)碼產(chǎn)品、航空設(shè)備、ATM機(jī)、計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備等電子產(chǎn)品中都用到了嵌
16、入式系統(tǒng)。當(dāng)今,嵌入式系統(tǒng)已成為一個(gè)時(shí)髦的名詞,嵌入式系統(tǒng)的開發(fā)也成為了一個(gè)炙手可熱的行業(yè)。在嵌入式系統(tǒng)開發(fā)的領(lǐng)域中,手機(jī)系統(tǒng)的開發(fā)尤為熱門。目前,市場(chǎng)上使用的較多的智能手機(jī)操作系統(tǒng)包括Symbian,Palm OS,windows Mobiles等,而Google基于Linux的Android手機(jī)操作系統(tǒng)一度被業(yè)內(nèi)視為最有希望的移動(dòng)平臺(tái)2。Android由于其開放性、不受運(yùn)營(yíng)商束縛、豐富的硬件選擇性、不受限制的開發(fā)和無縫結(jié)合的Google應(yīng)用等幾大特性牢牢地占據(jù)了手機(jī)系統(tǒng)開發(fā)的主導(dǎo)地位。Android的誕生不但給Linux帶來了新的生機(jī),也加劇了Linux移動(dòng)平臺(tái)內(nèi)部的競(jìng)爭(zhēng)。3DSJKFHJ
17、KDH FJDHJKFH KDSJH JKDHF JKDS HKJ2系統(tǒng)所用技術(shù)2.1 Android介紹Android一詞的本義指“機(jī)器人”,同時(shí)也是Google于2007年11月5日宣布的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。目前,最新版本為Android 2.4 Gingerbread和Android 3.0 Honeycomb。6Android的系統(tǒng)結(jié)構(gòu)由四個(gè)層組成,分別為L(zhǎng)inux內(nèi)核層、系統(tǒng)運(yùn)行庫層、應(yīng)用框架層和應(yīng)用層組成。Android系統(tǒng)的整體構(gòu)架如圖1所示。圖1 And
18、roid系統(tǒng)的整體架構(gòu)Applications(應(yīng)用層)應(yīng)用是用Java語言編寫的運(yùn)行在虛擬機(jī)上的程序,即圖中最上層的藍(lán)色部分,如圖所示。其實(shí),Google最開始時(shí)就在Android系統(tǒng)中捆綁了一些核心應(yīng)用,比如e-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯(lián)系人管理程序,等等。Application Framework應(yīng)用框架層這一層即是編寫Google發(fā)布的核心應(yīng)用時(shí)所使用的API框架,開發(fā)人員同樣可以使用這些框架來開發(fā)自己的應(yīng)用,這樣便簡(jiǎn)化了程序開發(fā)的架構(gòu)設(shè)計(jì),但是必須遵守其框架的開發(fā)原則。從圖中可以看出Android提供了如下系統(tǒng)特色組件:豐富而又可擴(kuò)展的視圖(Views)
19、:可以用來構(gòu)建應(yīng)用程序,它包括列表(lists)、網(wǎng)格(grids)、文本框(text boxes)、按鈕(buttons), 甚至可嵌入的Web瀏覽器。內(nèi)容提供器(Content Providers):它可以讓一個(gè)應(yīng)用訪問另一個(gè)應(yīng)用的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫), 或共享它們自己的數(shù)據(jù)。資源管理器(Resource Manager):提供非代碼資源的訪問,如本地字符串、圖形、和布局文件(layout files)。通知管理器 (Notification Manager):應(yīng)用可以在狀態(tài)欄中顯示自定義的提示信息。活動(dòng)管理器(Activity Manager):用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航
20、退回功能。窗口管理器(Window Manager):管理所有的窗口程序。包管理器(Package Manager):Android系統(tǒng)內(nèi)的程序管理。Libraries、Android Runtime(系統(tǒng)運(yùn)行庫層)當(dāng)使用Android應(yīng)用框架時(shí),Android系統(tǒng)會(huì)通過一些C/C+庫來支持我們使用的各個(gè)組件,使其能更好地為我們服務(wù)。Bionic系統(tǒng)C庫:C語言標(biāo)準(zhǔn)庫,系統(tǒng)最底層的的庫,C庫通過Linux系統(tǒng)來調(diào)用。多媒體庫(MediaFramework):Android系統(tǒng)多媒體庫,基于PackerVideo OpenCORE,該庫支持多種常見格式的音頻、視頻的回放和錄制,以及圖片,比如MP
21、EG4、MP3、AAC、AMR、JPG、PNG等。SGL:2D圖形引擎庫。SSL:位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通信提供支持。OpenGL ES 1.0:3D效果的支持。SQLite:關(guān)系數(shù)據(jù)庫。Webkit:Web瀏覽器引擎。FreeType:位圖(bitmap)及矢量(vector)。在Android操作系統(tǒng)中,每個(gè)Java程序都運(yùn)行在Dalvik虛擬機(jī)上,其只能執(zhí)行.dex的可執(zhí)行文件,當(dāng)Java程序通過編譯后,最后還需要通過SDK中的dx工具轉(zhuǎn)為成.dex格式才能正常在虛擬機(jī)上執(zhí)行,Java虛擬機(jī)運(yùn)行的是Java字節(jié)碼,而Dalvik虛擬機(jī)運(yùn)行的則是其專有的文件格式d
22、ex(Dalvik Exceutable)的文件。Dalvik虛擬機(jī)有如下幾個(gè)主要特征:1.專有的dex文件格式。2.dex的優(yōu)化,dex文件的結(jié)構(gòu)是緊湊的。3.基于寄存器。4.一個(gè)應(yīng)用,一個(gè)虛擬機(jī)實(shí)例,一個(gè)進(jìn)程。每一個(gè)Android應(yīng)用度運(yùn)行在一個(gè)Dalvik虛擬機(jī)實(shí)例中,每一個(gè)虛擬機(jī)實(shí)例都是一個(gè)獨(dú)立的進(jìn)程空間。Linux Kernel(Linux內(nèi)核層)Android的核心系統(tǒng)服務(wù)基于Linux2.6內(nèi)核,如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動(dòng)模型等都依賴于Linux2.6內(nèi)核。Linux內(nèi)核同時(shí)也作為硬件和軟件棧之間的抽象層。Android更多的是需要一些與移動(dòng)設(shè)備相關(guān)的驅(qū)動(dòng)程序
23、,主要的驅(qū)動(dòng)如下所示:顯示驅(qū)動(dòng)(Display Driver):基于Linux的幀緩沖(Frame Buffer)驅(qū)動(dòng)。鍵盤驅(qū)動(dòng)(KeyBoard Driver):作為輸入設(shè)備的鍵盤驅(qū)動(dòng)。Flash內(nèi)存驅(qū)動(dòng)(Flash Memory Driver):基于MTD的Flash驅(qū)動(dòng)程序。照相機(jī)驅(qū)動(dòng)(Camera Driver):常用的基于Linux的v4l2(Video for Linux)驅(qū)動(dòng)。音頻驅(qū)動(dòng)(Audio Driver):常用的基于ALSA(Advanced Linux Sound Architecture)的高級(jí)Linux聲音體系驅(qū)動(dòng)。藍(lán)牙驅(qū)動(dòng)(Bluetooth Driver):基于
24、IEEE 802.15.1標(biāo)準(zhǔn)的無線傳輸技術(shù)。WiFi驅(qū)動(dòng)(Camera Drive):基于IEEE 802.11標(biāo)準(zhǔn)的驅(qū)動(dòng)程序。Binder IPC驅(qū)動(dòng):Android的一個(gè)特殊的驅(qū)動(dòng)程序,具有單獨(dú)的設(shè)備節(jié)點(diǎn),提供進(jìn)程間通訊的功能。Power Management(能源管理):比如電池電量等。2.2 Android的組件Android應(yīng)用程序由4個(gè)模塊構(gòu)造而成:Activity、Intent、Content Provider、Service。由于本系統(tǒng)中主要用到的是Activity,這里就著重介紹一下Activity。7Activity是最基本的模塊,一般稱之為“活動(dòng)”,在應(yīng)用程序中,一個(gè)A
25、ctivity通常就是一個(gè)單獨(dú)的屏幕。簡(jiǎn)單理解,Activity代表一個(gè)用戶所能看到的屏幕,主要用于處理應(yīng)用程序的整體性工作,例如監(jiān)聽系統(tǒng)事件,為用戶顯示指定的View,啟動(dòng)其他Activity等。所有應(yīng)用的Activity都繼承于android.app.Activity類,該類是Android提供的基層類,其他的Activity繼承該父類后,通過父類的方法來實(shí)現(xiàn)各種功能。在Android中,Activity擁有四種基本狀態(tài):Running、Paused、Stoped和Killed。Runing一個(gè)新 Activity 啟動(dòng)入棧后,它在屏幕最前端,處于棧的最頂端,此時(shí)它處于可見并可和用戶交互的
26、激活狀態(tài)。Paused 當(dāng) Activity 被另一個(gè)透明或者 Dialog 樣式的 Activity 覆蓋時(shí)的狀態(tài)。此時(shí)它依然與窗口管理器保持連接,系統(tǒng)繼續(xù)維護(hù)其內(nèi)部狀態(tài),所以它仍然可見,但它已經(jīng)失去了焦點(diǎn)故不可與用戶交互。Stoped 當(dāng) Activity 被另外一個(gè) Activity 覆蓋、失去焦點(diǎn)并不可見時(shí)處于 Stoped狀態(tài)。Killed Activity 被系統(tǒng)殺死回收或者沒有被啟動(dòng)時(shí)處于 Killed狀態(tài)。當(dāng)一個(gè) Activity 實(shí)例被創(chuàng)建、銷毀或者啟動(dòng)另外一個(gè) Activity 時(shí),它在這四種狀態(tài)之間進(jìn)行轉(zhuǎn)換,這種轉(zhuǎn)換的發(fā)生依賴于用戶程序的動(dòng)作。圖2是Android官方文檔
27、中Activity的生命周期及其4個(gè)狀態(tài)間的轉(zhuǎn)換時(shí)機(jī)。圖2 Activity的生命周期及其4個(gè)狀態(tài)間的轉(zhuǎn)換時(shí)機(jī)2.3 SQLite輕型數(shù)據(jù)庫SQLite,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。
28、SQLite第一個(gè)Alpha版本誕生于2000年5月。至今已經(jīng)有11個(gè)年頭,目前SQLite的最新版本 SQLite 3已經(jīng)發(fā)布。8本系統(tǒng)使用SQLite作為存儲(chǔ)單詞的數(shù)據(jù)庫,添加索引并優(yōu)化查詢算法后在G7上測(cè)試可以達(dá)到查詢單詞平均耗時(shí)低于55ms的查詢效率。2.4 JNI技術(shù)JNI是Java Native Interface的縮寫,中文為JAVA本地調(diào)用。從Java1.1開始,Java Native Interface(JNI)標(biāo)準(zhǔn)成為java平臺(tái)的一部分,它允許Java代碼和其他語言寫的代碼進(jìn)行交互。JNI一開始是為了本地已編譯語言,尤其是C和C+而設(shè)計(jì)的,但是它并不妨礙使用其他語言,只要
29、調(diào)用約定受支持就可以了。使用java與本地已編譯的代碼交互,通常會(huì)喪失平臺(tái)可移植性。但是,有些情況下,JNI這樣做是可以接受的,甚至是必須的,比如,使用一些舊的庫,與硬件、操作系統(tǒng)進(jìn)行交互,或者為了提高程序的性能。JNI標(biāo)準(zhǔn)至少保證本地代碼能工作在任何Java 虛擬機(jī)實(shí)現(xiàn)下。2.5 Android系統(tǒng)的有點(diǎn)與其他手機(jī)操作系統(tǒng)相比,Android有4個(gè)無可比擬的優(yōu)點(diǎn):l 開放性:Android系統(tǒng)同時(shí)包含了底層操作系統(tǒng)以及移動(dòng)電話所需的全部軟件,不存在專有權(quán)障礙,開發(fā)平臺(tái)允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中來,并允許不同廠商可以根據(jù)自己的需求對(duì)平臺(tái)進(jìn)行定制和擴(kuò)展,無需任何授權(quán)許可費(fèi)用;
30、l 所有應(yīng)用程序平等:Android系統(tǒng)中,系統(tǒng)核心應(yīng)用和第三方應(yīng)用都是完全平等的,用戶可以將手機(jī)中的任意應(yīng)用程序替換成所需的其他應(yīng)用程序;l 應(yīng)用程序間無界限:開發(fā)人員可以吧Web上的數(shù)據(jù)與本地的日歷、聯(lián)系人、位置信息結(jié)合起來,應(yīng)用程序還可聲明它們可供其他程序使用;l 快速方便的應(yīng)用程序開發(fā):Android平臺(tái)為開發(fā)人員童工了大量的實(shí)用庫及工具,可以讓開發(fā)人員快速的創(chuàng)建自己的應(yīng)用3。DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ3. 系統(tǒng)分析3.1 可行性分析在中國(guó),手機(jī)已經(jīng)成為人們?nèi)粘I畋夭豢缮俚囊徊糠?,智能手機(jī)在學(xué)生群體中逐漸得到了普及,Android
31、手機(jī)憑借其優(yōu)秀的系統(tǒng)性能以及良好的用戶體驗(yàn)迅速得到了高校師生的青睞。學(xué)生并不喜歡講個(gè)人事務(wù)記錄下來集中管理,而習(xí)慣靠著自己的記憶力去實(shí)施;但是人的記憶往往不是非常的準(zhǔn)確的,經(jīng)常會(huì)記錯(cuò)一些事情或者記漏一些事情,導(dǎo)致學(xué)生會(huì)忘記那些我們應(yīng)該去做的,從而導(dǎo)致很多事情遺漏的現(xiàn)象?;谶@些問題,有必要設(shè)計(jì)一款具有事務(wù)提醒功能的手機(jī)個(gè)人事務(wù)管理程序,配合上可以讓用戶自定義辦理事務(wù)時(shí)間以及地點(diǎn)的功能,從而避免遺忘應(yīng)該去辦理的事情出現(xiàn)。3.2 需求分析個(gè)人事務(wù)管理在手機(jī)應(yīng)用程序中并不常見,一般在手機(jī)上較為常見的日程提醒程序無法實(shí)現(xiàn)自由設(shè)置校歷,重復(fù)提醒等功能。經(jīng)過對(duì)周邊同學(xué)的調(diào)查研究,普遍認(rèn)為這款軟件方便實(shí)用,
32、其主要功能如下:l 事務(wù)到點(diǎn)鬧鈴提示;l 自定義設(shè)置每天事務(wù)數(shù)量;l 能根據(jù)時(shí)間增加事務(wù);l 能依據(jù)時(shí)間設(shè)置事務(wù)提醒;4. 系統(tǒng)設(shè)計(jì)4.1 概要設(shè)計(jì)從程序流程來分,用戶在第一次進(jìn)入程序時(shí)會(huì)進(jìn)入設(shè)置界面,設(shè)置一些基本的配置信息以方便數(shù)據(jù)庫管理,然后進(jìn)入添加事務(wù)界面,進(jìn)行添加事務(wù)操作。添加事務(wù)除了UI展示以外其他的方式都是在操作數(shù)據(jù)庫,在程序中使用SQLite以實(shí)現(xiàn)校歷功能,按天查詢功能等。在程序主界面使用用list展示記錄,從數(shù)據(jù)表中按當(dāng)天的時(shí)間讀取出當(dāng)天的記錄,得到當(dāng)天每個(gè)事務(wù)id,再通過事務(wù)id從transaction表中查詢出對(duì)應(yīng)了事務(wù)信息,并在主界面中顯示。程序的配置信息主要存在pref
33、erence中,該信息在數(shù)據(jù)顯示時(shí)讀取必要的配置信息,添加事務(wù)模塊也是采用preference中的鍵值對(duì)的方式存儲(chǔ)數(shù)據(jù),鍵為計(jì)劃提醒的時(shí)間,值為計(jì)劃的提示信息。這樣在service中監(jiān)聽系統(tǒng)時(shí)間變化,每分鐘會(huì)收到一個(gè)當(dāng)時(shí)時(shí)間的消息,通過轉(zhuǎn)換成時(shí)間字符串在preference中去查詢,如果能得到計(jì)劃的值,則說明在此時(shí)間有計(jì)劃,彈出提示信息并播放音樂,用來實(shí)現(xiàn)事務(wù)提醒功能,如圖3所示:用戶主界面PreferenceSQLite用戶設(shè)置界面事務(wù)添加界面計(jì)劃添加界面Service用戶設(shè)置信息計(jì)劃信息提示時(shí)間事務(wù)信息事務(wù)信息事務(wù)時(shí)間事務(wù)時(shí)間圖3 程序結(jié)構(gòu)圖 4.2 數(shù)據(jù)存儲(chǔ)本程序數(shù)據(jù)存取方面主要用到了S
34、QLite數(shù)據(jù)庫和Preference存儲(chǔ)機(jī)制。其中,SQLite主要用來存儲(chǔ)事務(wù)信息,Preference則主要用來存儲(chǔ)配置信息。4.2.1 SQLiteSQLite數(shù)據(jù)庫是Android系統(tǒng)中非常重要的數(shù)據(jù)存儲(chǔ)方法,它是Android系統(tǒng)唯一支持的數(shù)據(jù)庫類型,也是Android應(yīng)用程序進(jìn)行持久化存儲(chǔ)的三種方式之一。 SQLite數(shù)據(jù)庫是SQL數(shù)據(jù)庫的簡(jiǎn)化版,支持大部分SQL操作。SQLite是Android應(yīng)用程序中非常常用的一種數(shù)據(jù)存儲(chǔ)手段。4.2.1.1SQLite數(shù)據(jù)庫的創(chuàng)建創(chuàng)建數(shù)據(jù)庫主要用到了DBHelper類,該類繼承了SQLiteOpenHelper類,實(shí)現(xiàn)了數(shù)據(jù)庫、數(shù)據(jù)表的創(chuàng)
35、建。具體方法如下:private static final String DB_NAME = "transaction.db"public DBHelper(Context context)super(context, DB_NAME, null, 1);/在dbhelper的構(gòu)造函數(shù)中調(diào)用父類構(gòu)造函數(shù),傳入數(shù)據(jù)庫名,創(chuàng)建數(shù)據(jù)庫4.2.1.2 SQLite數(shù)據(jù)表的設(shè)計(jì)根據(jù)對(duì)本程序的需求分析,本程序一共需要用到一張數(shù)據(jù)表,分別為transaction表transaction表主要用來存儲(chǔ)已經(jīng)添加的事務(wù),用戶每添加一個(gè)事務(wù)就會(huì)在該表中新增一條記錄,并且自動(dòng)生成一個(gè)唯一的id,用
36、以區(qū)別各個(gè)事務(wù),同樣名稱但是分成兩次添加的事務(wù)會(huì)被認(rèn)為是不同的事務(wù),這樣設(shè)計(jì)的目的主要是為了方便查詢。該表結(jié)構(gòu)設(shè)計(jì)如下:_id: 已添加的事務(wù)id,事務(wù)表主鍵,用來查找事務(wù),獲取事務(wù)信息_time: 事務(wù)的開始時(shí)間;_name:事務(wù)名稱;_address: 事務(wù)地點(diǎn);該數(shù)據(jù)庫設(shè)計(jì)初衷為保存整個(gè)學(xué)期的事務(wù),這樣實(shí)現(xiàn)整個(gè)學(xué)期的事務(wù)排布,包括數(shù)據(jù)的存儲(chǔ),事務(wù)的提醒和查詢都比較方便。開始的兩列包括日期,用戶只需要通過選擇周數(shù)和星期就可以生成日期。表中從第三列開始保存的為課表的id,通過該id可以在transaction表中查詢出對(duì)應(yīng)的事務(wù)內(nèi)容。4.2.2 PreferencePreference是一種
37、輕量級(jí)的數(shù)據(jù)存儲(chǔ)機(jī)制,它將一些簡(jiǎn)單數(shù)據(jù)類型的數(shù)據(jù)以鍵值對(duì)的形式存儲(chǔ)在程序的Preference目錄中。在Android平臺(tái)上,可以通過一個(gè)Context對(duì)象調(diào)用getSharedPreferences(String name,int mode)方法傳入Preferences文件名和打開模式,就可以獲得一個(gè)Sharedpreferences的對(duì)象4。4.3 程序中的主要類4.3.1 ClassScheule類該類為整個(gè)應(yīng)用的主Activity, 顯示事務(wù)表的主界面2。其主要方法如下:l onCreate:Activity主要重寫方法之一,實(shí)現(xiàn)程序初始化和UI展示;l onResume:Activ
38、ity重寫方法之一,實(shí)現(xiàn)在喚醒Activity時(shí)刷新界面;l onCreateOptionMenu:實(shí)現(xiàn)Option菜單的創(chuàng)建;l onMenuItemSeleted:實(shí)現(xiàn)菜單項(xiàng)的點(diǎn)擊事件響應(yīng);l getDayClassRecord:從數(shù)據(jù)庫中獲取當(dāng)天的事務(wù)信息;l UpdateUI:在數(shù)據(jù)發(fā)生改變時(shí)刷新UI;l removeClass: 從數(shù)據(jù)庫中刪除事務(wù);界面設(shè)計(jì)方面通過RelativeLayout實(shí)現(xiàn)布局,使用了TextView,ImageButton事務(wù)列表通過ListView實(shí)現(xiàn)UI展示。該類通過繼承BaseAdapter還實(shí)現(xiàn)了一個(gè)名為MyListAdapter的內(nèi)部類,用來顯示L
39、istView中的數(shù)據(jù)并實(shí)現(xiàn)對(duì)ListView上ImageView控件點(diǎn)擊的統(tǒng)一響應(yīng) 5。4.3.2 Addclass類和AddPlan類AddClass類為實(shí)現(xiàn)添加事務(wù)界面的Activity,主要實(shí)現(xiàn)由用戶選擇和輸入事務(wù)信息,并將所有的事務(wù)信息添加到數(shù)據(jù)庫中。主要方法如下:l onCreate: 初始化UI控件;l SetDefaultData: 設(shè)置初始化時(shí)默認(rèn)的數(shù)據(jù);l SaveData:將添加的事務(wù)保存進(jìn)數(shù)據(jù)庫中;l gettimeString: 將輸入的事務(wù)信息轉(zhuǎn)換成對(duì)應(yīng)的時(shí)間字符串返回;AddPlan類實(shí)現(xiàn)添加計(jì)劃界面,并將添加的數(shù)據(jù)存入Preference中。主要方法如下:l o
40、nCreate:實(shí)現(xiàn)初始化UI控件;l onClick:實(shí)現(xiàn)button點(diǎn)擊事件的響應(yīng);l setPlan:實(shí)現(xiàn)添加計(jì)劃到preference中;4.3.3 DBDataManager類該類為自定義的重要的數(shù)據(jù)庫處理類,用來管理數(shù)據(jù)庫,對(duì)數(shù)據(jù)庫的所有操作都封裝在這個(gè)類中,實(shí)現(xiàn)數(shù)據(jù)封裝。將數(shù)據(jù)操作和UI操作隔離開來。主要方法如下:0- AddTran:給transaction表添加記錄;db.insert(transaction_TABLE, null, values);/insert方法插入一條數(shù)據(jù)1- deleteTran:刪除一條class記錄;db.delete(transaction_
41、TABLE, "_id = " + transactionid, null);/delete方法刪除一條數(shù)據(jù)2- initTerm:給Term表添加初始數(shù)據(jù)3- addTransactionToterm:將添加的事務(wù)信息正確添加進(jìn)term表中4- deleteTransactionfromterm:從term表中刪除一次添加的class數(shù)據(jù)5- getdayTransactionRecord:獲得一天事務(wù)記錄4.3.4 AlarmService類該類實(shí)現(xiàn)定時(shí)服務(wù),service監(jiān)聽系統(tǒng)時(shí)間變化,當(dāng)系統(tǒng)時(shí)間和設(shè)置的時(shí)間相等時(shí),彈出提示信息,并播放音樂,實(shí)現(xiàn)提醒功能。主要方法如
42、下:onReceive:監(jiān)聽系統(tǒng)時(shí)間變化,實(shí)現(xiàn)彈出提示信息和音樂播放,以下代碼用來監(jiān)聽系統(tǒng)時(shí)間8:Calendar mCalendar = Calendar.getInstance(Locale.CHINA);String dateString = mCalendar.get(Calendar.YEAR) + "-"+ (mCalendar.get(Calendar.MONTH) + 1) + "-"+ mCalendar.get(Calendar.DAY_OF_MONTH) + "-"+ mCalendar.get(Calendar
43、.HOUR_OF_DAY) + ":"+ mCalendar.get(Calendar.MINUTE); 以下代碼得到preference,如果沒有對(duì)應(yīng)記錄則planstring會(huì)等于null,如果不等于null就執(zhí)行提醒。SharedPreferences preference = context.getSharedPreferences("ClassSchedule",Context.MODE_PRIVATE);String planString = preference.getString(dateString, null);preference中
44、存計(jì)劃是就是以提醒時(shí)間為鍵值,當(dāng)?shù)玫疆?dāng)前時(shí)間等于鍵值時(shí)就執(zhí)行提醒,啟動(dòng)MusicService這個(gè)服務(wù)player = MediaPlayer.create(this, R.raw.shangkele);/創(chuàng)建播放器player.start();/開始播放DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJDSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ4. 系統(tǒng)的實(shí)現(xiàn)在完成系統(tǒng)設(shè)計(jì)以后,即可在Android虛擬機(jī)中運(yùn)行程序,運(yùn)行效果如下:軟件設(shè)置界面,該界面為用戶第一次進(jìn)入程序所顯示的界面,往后的使用中,用戶可以通過“Menu”“設(shè)
45、置”的操作步驟來進(jìn)入該界面。在此界面,用戶可以設(shè)置第一周開始時(shí)間,每學(xué)期的周數(shù)以及事務(wù)數(shù)量和持續(xù)時(shí)間,如圖4所示:圖4 軟件設(shè)置界面設(shè)置事務(wù)的類型,添加事務(wù),添加感想,以下界面由點(diǎn)擊軟件設(shè)置界面中的“類型后”后彈出,如圖5所示:圖5 設(shè)置事務(wù)類型程序主界面,該界面是用戶非第一次進(jìn)入程序所顯示的界面,此界面主要顯示用戶所添加的事務(wù)的信息,可以通過刪除按鈕來實(shí)現(xiàn)刪除事務(wù)的操作,如圖6所示:圖6 程序主界面添加事務(wù)界面,該界面通過“Menu”“添加事務(wù)”操作進(jìn)入,在該界面用戶可以根據(jù)自己的需求來添加事務(wù),如圖7所示:圖7 添加事務(wù) 同時(shí)也可以在首頁點(diǎn)擊添加事務(wù),如圖8所示:圖8 首頁添加添加感想界面
46、,該界面通過“Menu”“添加感想”操作進(jìn)入,在此界面用戶可以添加一個(gè)計(jì)劃感想,如圖9所示:圖9添加感想退出,該界面通過“Menu”“退出”操作進(jìn)入,此操作可以退出應(yīng)用,如圖10所示:圖10 退出首頁:在首頁可以查看已經(jīng)純?cè)诘氖聞?wù)并可以查看:如圖11為首頁:圖11 首頁事務(wù)內(nèi)容頁面:點(diǎn)擊首頁事務(wù)可以查看事務(wù)的詳細(xì)信息,如圖12所示:圖12 事務(wù)內(nèi)容頁面DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ5 系統(tǒng)測(cè)試在軟件開發(fā)的過程中,測(cè)試是一個(gè)非常重要的步驟,測(cè)試可以檢測(cè)出開發(fā)過程中的錯(cuò)誤、bug、設(shè)計(jì)的失誤,已完成軟件所應(yīng)完成的操作,將系統(tǒng)更好的按成,以便于使用時(shí)
47、能達(dá)到需求的標(biāo)準(zhǔn)。本系統(tǒng)測(cè)試分為三個(gè)部分:?jiǎn)卧獪y(cè)試、性能測(cè)試、壓力測(cè)試等,分別用不同的測(cè)試一發(fā)現(xiàn)系統(tǒng)的錯(cuò)誤和bug,然后修改在測(cè)試,進(jìn)行迭代開發(fā),使系統(tǒng)更加完善,更易于使用。5.1 單元測(cè)試5.1.1 單元測(cè)試簡(jiǎn)介單元測(cè)試是在軟件開發(fā)過程中要進(jìn)行的最低級(jí)別的測(cè)試活動(dòng),在單元測(cè)試活動(dòng)中,軟件的獨(dú)立單元將在與程序的其他部分相隔離的情況下進(jìn)行測(cè)試。 單元測(cè)試不僅僅是作為無錯(cuò)編碼一種輔助手段在一次性的開發(fā)過程中使用,單元測(cè)試必須是可重復(fù)的,無論是在軟件修改,或是移植到新的運(yùn)行環(huán)境的過程中。因此,所有的測(cè)試都必須在整個(gè)軟件系統(tǒng)的生命周期中進(jìn)行維護(hù)。5.1.2 單元測(cè)試工具在項(xiàng)目中是用junit4進(jìn)行單元測(cè)試。在每個(gè)DAO的接口以及方法完成以后進(jìn)行單元測(cè)試以減少后期百年城過程中出現(xiàn)數(shù)據(jù)層的錯(cuò)誤。5.1.3 單元測(cè)試結(jié)果項(xiàng)目中各個(gè)部分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市公共交通信息化建設(shè)與應(yīng)用考核試卷
- 管道工程標(biāo)準(zhǔn)化戰(zhàn)略實(shí)施展望與挑戰(zhàn)應(yīng)對(duì)考核試卷
- 港口及航運(yùn)設(shè)施工程合同管理考核試卷
- 租賃市場(chǎng)客戶關(guān)系維護(hù)與管理考核試卷
- 深海打撈裝備的作業(yè)安全標(biāo)準(zhǔn)制定與實(shí)施考核試卷
- 滌綸纖維在高端運(yùn)動(dòng)品牌的技術(shù)創(chuàng)新與市場(chǎng)應(yīng)用趨勢(shì)考核試卷
- 海洋石油鉆探的鉆井工程優(yōu)化考核試卷
- 生物質(zhì)能源項(xiàng)目風(fēng)險(xiǎn)評(píng)估與管理考核試卷
- 江漢藝術(shù)職業(yè)學(xué)院《數(shù)碼圖形處理》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西旅游商貿(mào)職業(yè)學(xué)院《運(yùn)動(dòng)解剖學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 孕期碘缺乏病的健康宣教
- 電梯調(diào)試單機(jī)試車方案
- 【MOOC】面向?qū)ο蟪绦蛟O(shè)計(jì)-濮陽職業(yè)技術(shù)學(xué)院 中國(guó)大學(xué)慕課MOOC答案
- 子宮平滑肌瘤手術(shù)臨床路徑表單
- 【MOOC】機(jī)械原理-西北工業(yè)大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- GB/T 36547-2024電化學(xué)儲(chǔ)能電站接入電網(wǎng)技術(shù)規(guī)定
- 2022-2023學(xué)年廣東省深圳市南山區(qū)六年級(jí)上學(xué)期期末英語試卷
- 中華傳統(tǒng)文化進(jìn)中小學(xué)課程教材指南
- 汽車發(fā)動(dòng)機(jī)火花塞市場(chǎng)洞察報(bào)告
- 學(xué)校安保服務(wù)投標(biāo)方案(技術(shù)方案)
- 故宮的課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論