基于Android的加密記事本軟件的設(shè)計(jì)與實(shí)現(xiàn)方案_第1頁
基于Android的加密記事本軟件的設(shè)計(jì)與實(shí)現(xiàn)方案_第2頁
基于Android的加密記事本軟件的設(shè)計(jì)與實(shí)現(xiàn)方案_第3頁
基于Android的加密記事本軟件的設(shè)計(jì)與實(shí)現(xiàn)方案_第4頁
基于Android的加密記事本軟件的設(shè)計(jì)與實(shí)現(xiàn)方案_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 基于android的加密記事本軟件的設(shè)計(jì)與實(shí)現(xiàn)方案基于Android的加密記事本軟件的設(shè)計(jì)與實(shí)現(xiàn)方案摘 要智能手機(jī)雖然早在多年前就已出現(xiàn),但那時(shí)的智能手機(jī)的功能主要是本地應(yīng)用,這些手機(jī)以Nokia的Symbian系統(tǒng)為主。但隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來,本地應(yīng)用已遠(yuǎn)遠(yuǎn)無法滿足用戶的需求了。然而在創(chuàng)新為王的今天,新的技術(shù)總在不斷取代舊的技術(shù)。以創(chuàng)新聞名的Google為了進(jìn)軍移動(dòng)廣告市場(chǎng),就開始研制新的移動(dòng)操作系統(tǒng)Android。本程序主要使用了Java和Android的基礎(chǔ)編程知識(shí),用戶界面采用MVC模型的日歷應(yīng)用程序的結(jié)構(gòu)和設(shè)計(jì)實(shí)現(xiàn)過程。本程序的開發(fā)工具為Eclipse,并通過與SQLite數(shù)據(jù)

2、庫相連,從而實(shí)現(xiàn)了基于Android的加密記事本應(yīng)用程序。關(guān)鍵詞:Android;Sqlite;MVCAbstract Smartphone many years ago, had already appeared, but when the smartphone is mainly local application, these phones with Nokia's Symbian system. However, with the advent of the mobile Internet era, local application has far can not meet

3、the needs of users. However, innovation is king today, new technology always constantly replace the old technology. A reputation for innovation in order to enter the mobile advertising market, Google started to develop a new mobile operating system Android. The program using basic programming knowle

4、dge of Java and Android user interface using the calendar application of the MVC model structure and design process. The program development tools for Eclipse, and connected to the SQLite database, in order to achieve the Android-based task management application.Key words: Android; Sqlite; MVCii目 錄

5、摘 要iAbstractii第1章 緒 論11.1 論文研究主要內(nèi)容11.2 國內(nèi)外現(xiàn)狀1第2章 關(guān)鍵技術(shù)介紹32.1 Java開發(fā)技術(shù)32.2 Android用戶界面技術(shù)32.3 開發(fā)工具及環(huán)境簡(jiǎn)介42.3.1 開發(fā)工具42.3.2 開發(fā)環(huán)境52.4 開發(fā)技術(shù)52.4.1 利用SOAP技術(shù)與網(wǎng)絡(luò)接口交互52.5 Android SDK常見公共類庫介紹62.5.1 sqlite3數(shù)據(jù)庫的使用相關(guān)類庫介紹62.5.2 Android界面Activity介紹72.6 開發(fā)語言簡(jiǎn)介82.6.1  Android簡(jiǎn)介82.6.2  Android Features特性82

6、.7 Android系統(tǒng)的四大組件82.8 搭建Android開發(fā)環(huán)境9第3章 系統(tǒng)分析103.1 系統(tǒng)概述103.1.1 功能框架103.1.2 系統(tǒng)特性103.1.4 系統(tǒng)用例規(guī)約113.1.5 系統(tǒng)的流程分析143.2 系統(tǒng)開發(fā)環(huán)境153.3 系統(tǒng)任務(wù)的可行性分析16第4章 系統(tǒng)設(shè)計(jì)174.1 設(shè)計(jì)指導(dǎo)思想和原則174.1.1 指導(dǎo)思想174.1.2 軟件設(shè)計(jì)原則174.2 系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)174.3 系統(tǒng)靜態(tài)模型設(shè)計(jì)194.4 數(shù)據(jù)庫設(shè)計(jì)214.4.1 數(shù)據(jù)庫設(shè)計(jì)的概述214.4.2 概念結(jié)構(gòu)設(shè)計(jì)214.4.3 邏輯結(jié)構(gòu)設(shè)計(jì)214.4.4 物理結(jié)構(gòu)設(shè)計(jì)22第5章 系統(tǒng)實(shí)現(xiàn)235.1

7、應(yīng)用程序功能實(shí)現(xiàn)235.2 應(yīng)用程序界面功能實(shí)現(xiàn)235.2.1 應(yīng)用程序主界面235.2.2 指定日程界面245.3 數(shù)據(jù)庫存儲(chǔ)方式255.4 部分代碼26第6章 系統(tǒng)測(cè)試366.1 測(cè)試方案及測(cè)試用例366.2 系統(tǒng)測(cè)試計(jì)劃366.3 系統(tǒng)測(cè)試366.4 測(cè)試總結(jié)37結(jié)論38致 謝39參考文獻(xiàn)40外文原文41中文翻譯48第1章 緒 論Android是由Google發(fā)布的基于Linux的開放源碼操作系統(tǒng),剛開始的時(shí)候它主要用于手機(jī)移動(dòng)設(shè)備,它是第一個(gè)完全定制、免費(fèi)、開發(fā)的手機(jī)平臺(tái)。最初由Andy Rubin開發(fā),剛開始主要支持手機(jī),后來慢慢發(fā)展逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上。Android是一

8、種基于Linux內(nèi)核的軟件平臺(tái)和操作系統(tǒng),采用了軟件堆層(Software Stack)的架構(gòu),共分為四層。第一層是Linux內(nèi)核,提供由操作系統(tǒng)內(nèi)核管理的底層基礎(chǔ);第二層是中間件層,由函數(shù)庫和Android運(yùn)行時(shí)構(gòu)成;第三層是應(yīng)用程序框架層,提供了Android平臺(tái)基本的管理功能和組建重用機(jī)制;第四層是應(yīng)用程序?qū)樱峁┝艘幌盗泻诵膽?yīng)用程序。Android作為一種開放操作系統(tǒng),隨著它的快速發(fā)展,受到了越來越多的人的關(guān)注。所以就有越來越多的開發(fā)者使用許多種編程語言來編寫Android。而不再像以前那樣只能使用單一的編程語言來編寫應(yīng)用程序,因而有越來越多的人來開發(fā)Android。在這幾年中由于An

9、droid的便攜性和可開發(fā)性,使得Android的操作系統(tǒng)已經(jīng)移植于越來越多的手機(jī)上。1.1 論文研究主要內(nèi)容通過開發(fā)一個(gè)項(xiàng)目,了解Android平臺(tái)的相關(guān)特性和開發(fā)的流程。具體來講:1.通過分析當(dāng)前階段下各種人群的喜好和對(duì)事物的關(guān)注程度來選擇究的項(xiàng)目,即日程管理軟件;2.通過獨(dú)立設(shè)計(jì)UI來了解Android以至于移動(dòng)平臺(tái)開發(fā)的UI的設(shè)計(jì)方法;3.通過選取相應(yīng)的數(shù)據(jù)存儲(chǔ)來方式存儲(chǔ)日程管理的數(shù)據(jù),來了解Android平臺(tái)的類庫和其相關(guān)的設(shè)計(jì)模式,了解其先進(jìn)的思想和API的特點(diǎn);4.通過設(shè)計(jì)功能點(diǎn)來初步的了解移動(dòng)平臺(tái)開發(fā)的所需注意事項(xiàng),初步的了解移動(dòng)平臺(tái)的開發(fā),并了解別體會(huì)如何獲得更好的人機(jī)交互;

10、5.通過測(cè)試來完善程序,使其Bug不合理地方最少化,并進(jìn)一步了解Android平臺(tái)的相關(guān)先進(jìn)的特點(diǎn)和其人性化的設(shè)計(jì),與此同時(shí)熟悉軟件開發(fā)的相關(guān)流程并深刻認(rèn)識(shí)在編碼時(shí)一些注意事項(xiàng)的重要性;6.其實(shí)完全可以通過發(fā)布程序到Google Android Market上,了解Android程序發(fā)布的流程,并通過它了解其他平臺(tái)下的開發(fā)、發(fā)布的流程。并通過用戶的反饋來進(jìn)行相關(guān)的修改。基于此更深刻的理解人機(jī)交互的重要性和設(shè)計(jì)的重要性。1.2 國內(nèi)外現(xiàn)狀A(yù)ndroid操作系統(tǒng)于2007年在美國推出后,憑借其良好的用戶體驗(yàn),低廉的成本和較高的開放性吸引著越來越多的終端廠商采用,根據(jù)Gartner等國際研究機(jī)構(gòu)的報(bào)

11、告,Android在這幾年的全球智能手機(jī)的市場(chǎng)份額在逐漸增多,并且于2011年成功超過了Symbian系統(tǒng)在全球智能手機(jī)的市場(chǎng)份額。在Android出現(xiàn)之前,智能手機(jī)操作系統(tǒng)市場(chǎng)中Symbian和WM兩者占據(jù)大部分的市場(chǎng)份額,但隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,終端+應(yīng)用的趨勢(shì)逐漸成為主流的情況下,兩者的劣勢(shì)逐漸突出,而Android的優(yōu)勢(shì)也越來越明顯。Symbian由于發(fā)展了很多年,已經(jīng)被很多人熟悉,在這十多年中Symbian幾乎沒發(fā)生什么變化,它的用戶體驗(yàn)功能已經(jīng)無法滿足現(xiàn)在人的需求。WM系統(tǒng)同樣也較為封閉,對(duì)終端廠商來講引入成本較為昂貴,娛樂性一般,多用于商務(wù)機(jī)型。2007年,蘋果iPhone上

12、市后iOS憑借iPhone優(yōu)秀的用戶體驗(yàn)和多種多樣的功能獲得了巨大的成功,特別值得一提的是蘋果的應(yīng)用開發(fā)分成模式刺激了開發(fā)者不斷進(jìn)入,使得蘋果的應(yīng)用程序能不斷的更新和發(fā)展,截至2010年8月,可用于iOS的應(yīng)用已經(jīng)超過了25萬,蘋果公司因?yàn)轫槕?yīng)了終端+應(yīng)用的智能手機(jī)發(fā)展趨勢(shì),取得了快速的發(fā)展.但iOS也有許多問題,因?yàn)閕OS屬于半開放的OS,實(shí)現(xiàn)了移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)鏈上各環(huán)節(jié)的普及還是較為困難;其次iPhone的價(jià)格比較高,短期時(shí)間內(nèi)難以滿足中低端市場(chǎng)的需求。而Android系統(tǒng),雖然它目前存在安全性和版本混亂等問題,但是擁有低廉的引入成本,良好的用戶體驗(yàn)和開放性較強(qiáng)的特點(diǎn),再加上Android

13、Market和眾多第三方應(yīng)用商店做后盾,在應(yīng)用方面的資源也非常豐富。Android系統(tǒng)在近幾年取得了迅猛的發(fā)展,主要還是因?yàn)槠溥m應(yīng)了移動(dòng)互聯(lián)網(wǎng)的發(fā)展趨勢(shì),符合了移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)鏈各方的發(fā)展變化需求。當(dāng)然,Android也同樣面臨著一些挑戰(zhàn)和爭(zhēng)議。雖然Android在發(fā)展過程中遇到一些問題,但在多方面積極的因素推動(dòng)下,總體趨勢(shì)仍舊看好。當(dāng)前,隨著HTC進(jìn)入中國市場(chǎng),以及酷派、華為、中興等終端廠商的發(fā)力,Android在國內(nèi)的發(fā)展會(huì)越來越好;而隨著Android系統(tǒng)的發(fā)展,Android手機(jī)在中國市場(chǎng)的銷量在未來必然還將有較大發(fā)展空間。目前國內(nèi)外有4款下載量較高記事本軟件。分別是Evernote、小

14、米便簽、NoteEverything、麥庫記事。Evernote在軟件界面方面布局簡(jiǎn)潔,需注冊(cè)登錄后才可使用,圖標(biāo)布局比較協(xié)調(diào),記事筆記方面可編寫內(nèi)容,添加標(biāo)簽,支持上傳圖片、音頻、視頻、文件等附件。特色功能方面具有搜索筆記和發(fā)送筆記、定位服務(wù)、同步等功能。資源占用方面內(nèi)存占最多,CPU占用適中。小米便簽在軟件界面方面功能簡(jiǎn)單,可查看和新建便簽,菜單功能相對(duì)豐富,記事方面只支持文字內(nèi)容,可以選擇桌面Widget顏色、字體大小等。特色功能方面可以移進(jìn)文件夾和分享、備份、還原和設(shè)置保護(hù)密碼,資源占用方面內(nèi)存占用較中,CPU占用最少。Note Everything界面簡(jiǎn)潔,上方有新建記事和

15、搜索等按鈕,菜單功能非常豐富,支持文本、繪圖、語音、圖片、清單、圖庫、視頻、條形碼等形式,可固定顯示記事。特色是單個(gè)記事加密,數(shù)據(jù)備份、還原、導(dǎo)入、到處創(chuàng)建快捷方式,內(nèi)存占用最少,CPU占用合理。麥庫記事界面比較精美,菜單功能相對(duì)簡(jiǎn)單,可選分類、加標(biāo)簽、附件支持拍照和實(shí)時(shí)錄音。特色是筆記搜索和分類,網(wǎng)絡(luò)同步和筆記分享,內(nèi)存占用適中,CPU占用最多。第2章 關(guān)鍵技術(shù)介紹2.1 Java開發(fā)技術(shù)對(duì)于Java語言而言,Android系統(tǒng)給了Java一個(gè)新的機(jī)會(huì)。隨著Android平臺(tái)在市場(chǎng)占有率的逐漸上升,采用Java語言開發(fā)的Android應(yīng)用肯定會(huì)越來越多。由于Android的Java開發(fā)方面從

16、接口到功能,都有層出不窮的變化,所以Android支持并使用了Java作為編程語言來開發(fā)應(yīng)用程序。為了能夠提高效率和減少資源占用并且考慮到Java虛擬機(jī)的效率和資源的占用,Google重新設(shè)計(jì)了Android的Java,因而它與J2ME等有許多不同之處。其中Activity就是一個(gè)Android的用戶界面,一個(gè)Activity類(Class)主要負(fù)責(zé)創(chuàng)建UI界面(Windows),Service就是一個(gè)活動(dòng)中的Activity在前景模式,背景運(yùn)行下的程序。它們兩者之間通過由ServiceConnection和AIDL連接,達(dá)到多種程序同時(shí)運(yùn)行的效果。如果運(yùn)行中的Activity下的全部畫面被其

17、他的Activity取代時(shí),該Activity便會(huì)被停止(Stopped),甚至有可能會(huì)被系統(tǒng)清除(Kill)。在Android中的View和J2ME的Displayable挺類似的,程序開發(fā)人員可以通過把View類與“XML layout”文件放置在UI的視窗上,Android 1.5的版本也可以利用View創(chuàng)建出所謂的Widgets,其實(shí)Widget只是View的一種形式,所以也可以使用xml文件來設(shè)計(jì)它的layout,現(xiàn)在的許多手機(jī)都包含大量Widget的。至于ViewGroup它是各種layout的基礎(chǔ)抽象類(abstract class),ViewGroup之內(nèi)還可以包含ViewGr

18、oup。View的構(gòu)造函數(shù)其實(shí)是不需要在Activity中調(diào)用,但是Displayable是必須被調(diào)用的,在Activity中,是需要通過findViewById()來從XML中來獲得一個(gè)View的,并且Android的View類的顯示在很大程度上是從XML中獲取的。View與事件息息相關(guān),它們之間通過Listener結(jié)合在一起,每一個(gè)View都可以注冊(cè)一個(gè)事件監(jiān)聽器。2.2 Android用戶界面技術(shù)Android用戶界面框架采用MVC模型。MVC模型為用戶界面提供了處理用戶輸入的控制器,顯示用戶界面和圖像的視圖,以及保存數(shù)據(jù)和代碼的模型。MVC模型中的視圖將應(yīng)用程序的信息反饋給用戶,可能的

19、反饋方法包括視覺、聽覺或觸覺等,但最常用的就是通過屏幕顯示反饋信息。(1) 創(chuàng)建界面通過工程下的res/layout目錄下的main.xml,mydate.xml,record.xml,about.xml等配置文件,分別設(shè)置日程應(yīng)用程序的主界面,制定日期的界面,添加記錄的界面和關(guān)于的界面。通過工程下的res/values目錄下的colors.xml,strings.xml,dimension.xml配置文件獲得界面中的顏色,尺寸大小,一些屬性的名字。通過工程下的res/drawable目錄獲得應(yīng)用程序所用到的圖片。通過工程下的AndroidManifest.xml的文件來描述Android應(yīng)用

20、程序整體資訊的設(shè)定檔。簡(jiǎn)單來說,這是一個(gè)自我介紹檔,我們可以向Android系統(tǒng)介紹我們的Android應(yīng)用程序,以便讓Android系統(tǒng)完整地了解我們的應(yīng)用程序資訊。(2) 創(chuàng)建模型類創(chuàng)建Disservice類實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的增、刪、改、查操作,創(chuàng)建Grid類繪制萬年類的主體部分:日期和表格,創(chuàng)建CalendarElement接口,定義繪制圖形的方法,創(chuàng)建Border類定義邊框,Remind類定義提醒時(shí)間的一些信息,AllRecord類定義記錄的一些信息。(3) 創(chuàng)建控制器主要的是Main類來實(shí)現(xiàn)界面和一些模型類的交互,把結(jié)果展示在界面上。RemindSetting類設(shè)置指定日期的類,Reco

21、rd類設(shè)置記錄信息界面和處理記錄的交互。2.3 開發(fā)工具及環(huán)境簡(jiǎn)介2.3.1 開發(fā)工具1. Eclipse Classic 3.7.2Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Kit,JDK)。 Eclipse是著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語言開發(fā),但是目前亦有人通過插件使其作為其他計(jì)算機(jī)語言比如C+和Python的開發(fā)工具。Eclipse的本身只是一個(gè)框

22、架平臺(tái),但是眾多插件的支持使得Eclipse擁有其他功能相對(duì)固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE。Eclipse 最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎(chǔ),包括Platform、JDT 和PDE。目前由IBM牽頭,圍繞著Eclipse項(xiàng)目已經(jīng)發(fā)展成為了一個(gè)龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項(xiàng)目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個(gè)開發(fā)源碼項(xiàng)目,它其實(shí)是 Visua

23、l Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開放源碼,任何人都可以免費(fèi)得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注。近期還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項(xiàng)目,并宣稱Eclipse將來能成為可進(jìn)行任何語言開發(fā)的IDE集大成者,使用者只需下載各種語言的插件即可。2. SQLite3SQLite3是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/L

24、inux/Unix等等主流的操作系統(tǒng),同時(shí)能夠跟很多程序語言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。SQLite第一個(gè)Alpha版本誕生于2000年5月. 至今已經(jīng)有10個(gè)年頭,SQLite也迎來了一個(gè)版本 SQLite 3已經(jīng)發(fā)布。3. ADT目前Android開發(fā)所用的開發(fā)工具是Eclipse,在Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開發(fā)提供開發(fā)工具的升級(jí)或者變更,簡(jiǎn)單理解為在Eclipse下開發(fā)工具的升級(jí)下載工具。4. Android S

25、DKSDK:(software development kit)軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺(tái)、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,Android SDK 指的既是Android專屬的軟件開發(fā)工具包。 2.3.2 開發(fā)環(huán)境本軟件是在windows 7 操作系統(tǒng)中,利用Eclipse Classic 3.7.2開發(fā)工具搭載Android SDK工具包,結(jié)合Android手機(jī)自帶的sqlite3數(shù)據(jù)庫進(jìn)行開發(fā)。2.4 開發(fā)技術(shù)本軟件的的開發(fā)技術(shù)可以概括為:在Android平臺(tái)的開發(fā)環(huán)境下,通過手機(jī)的2G/3G,或者是wifi網(wǎng)絡(luò)使用SOAP協(xié)議連接

26、 index.aspx上面的接口服務(wù),獲取數(shù)據(jù)后對(duì)數(shù)據(jù)用Android的特有展現(xiàn)方式展現(xiàn)在手機(jī)屏幕上,并且完成交互操作,獲取收據(jù)并且成功展示后,通過本地化的管理對(duì)數(shù)據(jù)進(jìn)行本地化的存儲(chǔ)和管理。利用SOAP協(xié)議通過手機(jī)網(wǎng)絡(luò)獲取數(shù)據(jù)后,就會(huì)對(duì)各模塊中需要用到的對(duì)象進(jìn)行實(shí)例化,實(shí)例化的時(shí)候用到的是單例模式,以便不同的界面調(diào)用相同的內(nèi)容,這是本軟件資源共享的一個(gè)處理方式,在獲取數(shù)據(jù)的時(shí)候利用進(jìn)度條通知用戶此時(shí)是在獲取數(shù)據(jù),而獲取數(shù)據(jù)的動(dòng)作時(shí)放在了區(qū)別于主線程的一個(gè)分線程中,當(dāng)獲取數(shù)據(jù)完畢后,利用Android中獨(dú)有的Handler通知界面UI處理,此時(shí)所做的處理時(shí)關(guān)閉進(jìn)度條,在Android中如果不同線

27、程之間需要影響UI界面,就必須要使用Handler,否則就會(huì)報(bào)出:AndroidRuntime(28964):atAndroid.app.ActivityThread.main(ActivityThread.java:3703)的錯(cuò)誤,Handler在本軟件的制作過程中是必不可少的,在完成展示后,專門為用戶設(shè)計(jì)了收藏的功能,不再需要經(jīng)過一定的尋找過程來查找想要的數(shù)據(jù),此時(shí)使用的是Android使用的小型關(guān)系型數(shù)據(jù)庫sqlite3,是一種小巧快速并且功能強(qiáng)大的數(shù)據(jù)庫。2.4.1 利用SOAP技術(shù)與網(wǎng)絡(luò)接口交互SOAP采用了已經(jīng)廣泛使用的兩個(gè)協(xié)議:HTTP 和XML。HTTP用于實(shí)現(xiàn) SOAP 的

28、RPC 風(fēng)格的傳輸, 而XML 是它的編碼模式。采用幾行代碼和一個(gè)XML 解析器, HTTP 服務(wù)器( MS 的 IIS 或 Apache) 立刻成為SOAP 的 ORBS。SOAP 通訊協(xié)議使用 HTTP 來發(fā)送XML 格式的信息。HTTP與RPC 的協(xié)議很相似,它簡(jiǎn)單、 配置廣泛,并且對(duì)防火墻比其它協(xié)議更容易發(fā)揮作用。HTTP 請(qǐng)求一般由 Web 服務(wù)器軟件(如 IIS 和Apache)來處理, 但越來越多的應(yīng)用服務(wù)器產(chǎn)品正在支持HTTP。XML 作為一個(gè)更好的網(wǎng)絡(luò)數(shù)據(jù)表達(dá)方式( NDR)。SOAP 把 XML 的使用代碼化為請(qǐng)求和響應(yīng)參數(shù)編碼模式, 并用HTTP 作傳輸。具體地講, 一個(gè)

29、SOAP 方法可以簡(jiǎn)單地看作遵循SOAP編碼規(guī)則的HTTP請(qǐng)求和響應(yīng), 一個(gè) SOAP 終端則可以看作一個(gè)基于HTTP 的URL, 它用來識(shí)別方法調(diào)用的目標(biāo)。像CORBA/ IIOP一樣, SOAP不需要具體的對(duì)象綁定到一個(gè)給定的終端, 而是由具體實(shí)現(xiàn)程序來決定怎樣把對(duì)象終端標(biāo)識(shí)符映像到服務(wù)器端的對(duì)象。 在使用本協(xié)議過程中需要定義一個(gè)WSDL 如:Private static final String WSDL = " SOAP是個(gè)通信協(xié)議, SOAP在HTTP協(xié)議的基礎(chǔ)上,把編寫成XML的REQUEST參數(shù), 放在HTTP BODY上提交個(gè)WEB SERVICE服務(wù)器(SERVLE

30、T,ASP等等) 處理完成后,結(jié)果也寫成XML作為RESPONSE送回用戶端,為了使用戶端和WEB SERVICE可以相互對(duì)應(yīng),可以使用WSDL作為這種通信方式的描述文件,利用WSDL工具可以自動(dòng)生成WS和用戶端的框架文件,SOAP具備把復(fù)雜對(duì)象序列化捆綁到XML里去的能力。2.5 Android SDK常見公共類庫介紹2.5.1 sqlite3數(shù)據(jù)庫的使用相關(guān)類庫介紹本軟件代碼編寫過程中對(duì)數(shù)據(jù)庫的操作主要涉及三個(gè)工具類,分別是:(1) Android.database.sqlite.SQLiteDatabase;(2) Android.database.Cursor;(3) Android.

31、database.sqlite.SQLiteOpenHelper;創(chuàng)建和更新數(shù)據(jù)庫必須繼承Android.database.sqlite.SQLiteOpenHelper;繼承這個(gè)類必須實(shí)現(xiàn)一個(gè)構(gòu)造方法和兩個(gè)覆寫方法,否則是不可以使用的。下面是主要代碼說明:public class ChanneldbHelper extends SQLiteOpenHelper private static final String DATABASENAME = "assistantchannel.db" / 數(shù)據(jù)庫名稱private static final int DATABASEVE

32、RSION = 1;/ 數(shù)據(jù)庫版本public ChanneldbHelper(Context context) super(context, DATABASENAME, null, DATABASEVERSION);/ TODO Auto-generated constructor stubOverridepublic void onCreate(SQLiteDatabase db) / TODO Auto-generated method stubdb.execSQL("CREATE TABLE channel (id integer primary key autoincrem

33、ent, channelno integer ,channelname varchar(20)");/ 執(zhí)行有更改的sql語句Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) / TODO Auto-generated method stubdb.execSQL("DROP TABLE IF EXISTS channel");onCreate(db);2.5.2 Android界面Activity介紹Android的界面是由每一個(gè)成為Activity的j

34、ava類組成的,這個(gè)類庫是制作Android軟件必須使用的,只有使用了這個(gè)才可以讓用戶看得見,本類中有幾個(gè)常用的覆寫方法來表示界面的生存周期,分別是:onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy(),onRestart()七個(gè)方法。Activity的生命周期圖,如圖2-1所示。 圖2-1 Android Activity生存周期圖2.6 開發(fā)語言簡(jiǎn)介 2.6.1  Android簡(jiǎn)介  Android一詞的本義指“機(jī)器人”,同時(shí)也是Google于2007年11月5日宣布的基于Linux平臺(tái)

35、的開源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。 Android是基于Linux內(nèi)核的軟件平臺(tái)和操作系統(tǒng),早期由Google開發(fā)(在華注冊(cè)商標(biāo)名為“安致”),后由開放手機(jī)聯(lián)盟(Open Handset Alliance)開發(fā)。它采用了軟件堆層(software stack,又名以軟件疊層)的架構(gòu),主要分為三部分。低層以Linux內(nèi)核工作為基礎(chǔ),只提供基本功能;其他的應(yīng)用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。另外,為了推廣此技術(shù),Google和其它幾十個(gè)手機(jī)公

36、司建立了開放手機(jī)聯(lián)盟。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞?wù)J為Google開發(fā)的是自己的手機(jī)電話產(chǎn)品,而不是一套軟件平臺(tái)。到了2010年1月,Google開始發(fā)表自家品牌手機(jī)電話的Nexus One。目前最新SDK版本為Android 4.0.3。 2.6.2  Android Features特性 Android系統(tǒng)有如下的幾大特性:應(yīng)用程序框架 支持組件的重用與替換 u Dalvik虛擬機(jī) 專門為移動(dòng)設(shè)備做了優(yōu)化 內(nèi)部集成瀏覽器 該

37、瀏覽器基于開源的WebKit引擎 優(yōu)化的圖形庫 包括2D和3D圖形庫,3D圖形庫基于OpenGL ES SQLite 用作結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ) 多媒體支持 包括常見的音頻、視頻和靜態(tài)印象文件格式(如 MPEG4、H.264、MP3、AAC、 AMR、JPG、PNG、 GIF) u GSM電話(依賴于硬件) 藍(lán)牙Bluetooth,EDGE,3G and WiFi (依賴于硬件) 照相機(jī),GPS,指南針,和加速度計(jì) (依賴

38、于硬件) 豐富的開發(fā)環(huán)境 包括設(shè)備模擬器,調(diào)試工具,內(nèi)存及性能分析圖表,和Eclipse集成開發(fā)環(huán)境插件。2.7 Android系統(tǒng)的四大組件在Android系統(tǒng)中,為我們提供了四大基本組件,每個(gè)組件是一個(gè)視圖,但是有些是可見的,有些是不可見的視圖,像Activity,ContentProvider是可見的視圖,Service和BroadcastReceiver是不可見的,它們只在系統(tǒng)的后臺(tái)運(yùn)行。下面分別介紹四大組件: (1)Activity 簡(jiǎn)介 在Android系統(tǒng)中Activity提供可視化的用戶界面,一個(gè)Android應(yīng)用通常由多個(gè)Ac

39、tivity組成。多個(gè)Activity組成了Activity棧(Stack),當(dāng)前活動(dòng)的Activity處于棧頂。Activity有自己的生命周期,由Android系統(tǒng)來控制。 (2)Service 簡(jiǎn)介 顧名思義Service就是運(yùn)行在后臺(tái)的一種服務(wù)程序,一般很少和用戶交互,因此 沒有可視化界面定義一個(gè)Service類比較簡(jiǎn)單,只要繼承Service類,實(shí)現(xiàn)其生命周期 中的方法就可以了。一個(gè)定義好的Service必須在AndroidManifest.xml配置文件 注冊(cè),通過<service>元素聲明才能使用.Servi

40、ce有自己的生命周期,我們可以調(diào) 用 startService()啟動(dòng)一個(gè)Service或者bindService()方法來綁定一個(gè)存在的 Service 。 Broadcast Receiver 簡(jiǎn)介 Broadcast Receiver 顧名思義廣播接收器,它和事件處理機(jī)制類似,只不過事件處理機(jī)制是程序組件級(jí)別的(例如,某個(gè)按鈕的單擊事件),而廣播事件處理機(jī)制是系統(tǒng)級(jí)別的。到目前為止我們可以使用Intent來啟動(dòng)一個(gè)程序組件,我們還可以通過使用sendBroadcast()方法來發(fā)起一個(gè)系統(tǒng)

41、級(jí)別的事件廣播來傳遞消息。我們可以在你的應(yīng)用程序中實(shí)現(xiàn)Broadcast Receiver來監(jiān)聽和響應(yīng)這些廣播的Intent。 (4)ContentProvider簡(jiǎn)介 Content Provider 用來保存和檢索數(shù)據(jù),并且使應(yīng)用程序之間相互訪問數(shù)據(jù)成為可能。它是跨應(yīng)用程序共享數(shù)據(jù)的唯一方法。 Android 為常用的數(shù)據(jù)類型(如:音視頻、圖片和聯(lián)系方式等)提供了大量的Content Provider。它們被定義在Avider包下面。通過這樣定義好的ContentProvider 

42、我們可以方便的進(jìn)行數(shù)據(jù)操作。當(dāng)然我們必須擁有適當(dāng)?shù)臋?quán)限。我們也可以自己來定ContentProvider共享我們的數(shù)據(jù),方便用戶的訪問。2.8 搭建Android開發(fā)環(huán)境 任何事物要運(yùn)行,都要有它的環(huán)境,Android也有它的環(huán)境才能夠運(yùn)行,下面介紹Android的開發(fā)環(huán)境配置。 搭建開發(fā)環(huán)境需要的軟件: 1) 操作系統(tǒng):window XP,window 7或linux ;2) 軟件包:Android SDK(Software Development kit Java Dev

43、elopm、ADT(Android Develoopment Tool) ;3) IDE環(huán)境:Eclipse IDE+ADT Eclipse3.3以上; 4) JDK:Java Runtime Environment虛擬機(jī) 、(JDK)Java Development kit 安裝步驟如下: 第一步:安裝Java虛擬機(jī)sun-java6-jdk版本;第二步:安裝Eclipse3.5工具,到官網(wǎng)/downl

44、oads/,選擇版本下載后進(jìn)行安裝。第3章 系統(tǒng)分析3.1 系統(tǒng)概述3.1.1 功能框架從系統(tǒng)功能框架中很容易看出,本應(yīng)用程序采取的是MVC模型,一個(gè)Android的Activity通過業(yè)務(wù)處理來處理一些事務(wù)并把它反映在界面之中。啟動(dòng)應(yīng)用程序首先看到的是一個(gè)顯示的主界面,然后可以根據(jù)菜單選項(xiàng)訪問SQLite數(shù)據(jù)庫進(jìn)行事件的添加、修改、查看、刪除,這樣做的好處是后臺(tái)服務(wù)可以及時(shí)更新數(shù)據(jù),以保證數(shù)據(jù)的準(zhǔn)確性。設(shè)置提醒的時(shí)間功能同樣也要和數(shù)據(jù)庫相關(guān)聯(lián)進(jìn)行一系列的操作。DB下的DBService類封裝了許多SQLite的數(shù)據(jù)庫的增、刪、改、查的操作,后臺(tái)服務(wù)會(huì)調(diào)用它來實(shí)現(xiàn)數(shù)據(jù)庫的操作。3.1.2 系統(tǒng)

45、特性基于Android的加密記事本程序是為了向用戶展示一個(gè)友好的日程界面并能提供一系列的應(yīng)用操作的一個(gè)應(yīng)用程序。整個(gè)系統(tǒng)分為以下幾個(gè)模塊,見表3-1。表3-1 基于Android的應(yīng)用程序特性概述功能編號(hào)功能名稱功能描述優(yōu)先級(jí)1 日期的顯示 對(duì)日期按照一定的規(guī)則顯示在界面上中2提醒時(shí)間的管理對(duì)設(shè)置的提醒時(shí)間進(jìn)行管理和維護(hù)高3記錄信息的管理的對(duì)所記錄的信息進(jìn)行管理和維護(hù)高4切換界面的顯示對(duì)切換日期的進(jìn)行準(zhǔn)確的顯示中5關(guān)于界面的顯示對(duì)一些額外的信息的介紹中(1)日期的顯示支持的日期范圍從1901-1-1至2100-12-31,在日期界面上我們能夠很詳細(xì)的看到這個(gè)月的詳細(xì)信息,以及我們是否在這個(gè)月的

46、某一天記錄了一些信息或者在某一天設(shè)置了提醒事件的響鈴或者震動(dòng)。在這個(gè)界面我們可以通過鍵盤和觸摸能夠看到任何一天的日期和帶有標(biāo)記的記錄信息和提醒事件的信息。(2)提醒時(shí)間的管理用戶可以通過提醒時(shí)間的界面來設(shè)置什么時(shí)候去提醒自己去做某件事,在提醒時(shí)間界面中用戶可以滑動(dòng)屏幕來設(shè)置小時(shí)和分鐘。(3)記錄信息的管理通過菜單選項(xiàng)的記錄和提醒控件,用戶可以進(jìn)入記錄界面,在記錄界面中用戶可以添加、查看、修改、刪除記錄,并且為記錄設(shè)置提醒時(shí)間。這樣我們就可以在某一個(gè)時(shí)間點(diǎn)來通過程序來提醒我們做一些事情。(4)切換日期界面的顯示當(dāng)我們向任意查看某天的信息的時(shí)候,我們可以通過菜單選項(xiàng)的制定日期來進(jìn)入我們想查看的那天

47、的日期。(5)關(guān)于界面的顯示在應(yīng)用程序中要把一些額外的信息告知用戶,所以就是在此界面中設(shè)置的一些信息來供用戶查看。3.1.4 系統(tǒng)用例規(guī)約記事本應(yīng)用程序的幾個(gè)功能中按照前、后臺(tái)交互的功能劃分,只有提醒時(shí)間的管理和記錄信息的管理體現(xiàn)了這一部分。(1) 提醒時(shí)間管理的用例規(guī)約用例圖提醒時(shí)間用例圖,如圖3-1所示。 圖3-1 提醒時(shí)間用例圖用例描述本用例主要描述了提醒時(shí)間的相關(guān)功能和進(jìn)行相關(guān)的設(shè)置,如表3-2至3-5所示。表3-2 提醒時(shí)間-查看日期用例描述用例名稱查看日期參與者任何使用本應(yīng)用程序的用戶用例概述想查看某一天日期的詳細(xì)信息前置條件無基本事件流1、 用戶打開本應(yīng)用程序可以制定時(shí)間的日期。

48、2、 當(dāng)用戶使用鍵盤或者觸摸屏幕時(shí)可以查看這個(gè)日期對(duì)應(yīng)的其他信息。3、 在有記錄的信息上添加標(biāo)記,這樣用戶在查看日期時(shí)就能知道此日期對(duì)于的提醒時(shí)間。其他事件流無表3-3 提醒時(shí)間-查看記錄用例描述用例名稱查看記錄參與者查看日期并且已經(jīng)設(shè)置記錄的用戶用例描述查看自己在某一天某一個(gè)時(shí)間設(shè)置的記錄信息前置條件用戶已經(jīng)在某一個(gè)記錄下設(shè)置了提醒時(shí)間基本事件流1、 用戶打開應(yīng)用程序在某一天記錄信息2、 設(shè)置相應(yīng)的提醒時(shí)間3、 這樣當(dāng)手機(jī)震動(dòng)或者響鈴時(shí)就可以查看相應(yīng)的記錄其他事件流無表3-4 提醒時(shí)間-設(shè)置時(shí)間用例描述用例名稱設(shè)置時(shí)間參與者登陸本應(yīng)用程序并且已經(jīng)設(shè)置好記錄信息用例描述為某一個(gè)記錄下的事件設(shè)置

49、時(shí)間前置條件用戶已經(jīng)記錄下時(shí)間基本事件流1、 用戶記錄下某一事件2、在這一事件下設(shè)置指定的時(shí)間其他事件流無表3-5 提醒時(shí)間-設(shè)置響鈴或者震動(dòng)用例描述用例名稱設(shè)置響鈴或者震動(dòng)參與者已經(jīng)記錄信息并且設(shè)置好時(shí)間的用戶用例描述為某一提醒時(shí)間設(shè)置響鈴或者震動(dòng)前置條件已經(jīng)記錄信息并且設(shè)置好時(shí)間基本事件流1、用戶記錄下某一事件2、在這一事件下設(shè)置指定的時(shí)間3、設(shè)置對(duì)應(yīng)時(shí)間的震動(dòng)或者響鈴其他事件流無通過以上的用例描述,能夠很清楚的看到應(yīng)用程序的提醒時(shí)間相關(guān)的功能和相應(yīng)的操作步驟。(2) 記錄信息管理的用例規(guī)約用例圖記錄信息管理用例圖,如圖3-2所示。圖3-2 記錄信息管理用例圖用例描述本用例主要描述了記錄信

50、息管理的相關(guān)功能,如表3-6至3-9所示。表3-6 記錄信息管理-添加記錄用例描述用例名稱添加記錄參與者用戶用例概述在用戶打開應(yīng)用程序后可以在記錄界面中添加記錄前置條件用戶打開應(yīng)用程序并且在記錄界面上基本事件流1、當(dāng)用戶點(diǎn)擊“添加記錄”按鈕時(shí),程序打開添加記錄界面2、用戶在相應(yīng)的文本框中輸入信息3、用戶點(diǎn)擊“完成”按鈕時(shí),添加成功其他事件流無表3-7 記錄信息管理-修改記錄用例描述用例名稱修改記錄參與者用戶用例概述在顯示記錄的界面中可以修改相關(guān)的記錄信息前置條件用戶已經(jīng)完成記錄的添加基本事件流1、 當(dāng)用戶打開“修改/查看”按鈕時(shí),系統(tǒng)打開記錄修改頁面,并且顯示本記錄的信息2、用戶填寫相關(guān)信息,

51、點(diǎn)擊“完成”按鈕時(shí),更新記錄的信息其他時(shí)間流無表3-8 記錄信息管理-查看記錄用例描述用例名稱查看記錄參與者用戶用例概述用戶查看已經(jīng)寫好的記錄前置條件用戶在應(yīng)用程序下查看日期基本事件流1、 用戶點(diǎn)擊“修改/刪除”按鈕,程序打開記錄查詢頁面2、 在此頁面下用戶可以看到各種相關(guān)的記錄的信息其他時(shí)間流無表3-9 記錄信息管理-刪除記錄用例描述用例名稱刪除記錄參與者用戶用例概述用戶刪除已經(jīng)不用的記錄前置條件用戶已經(jīng)成功添加了記錄信息基本事件流1、 用戶打開記錄界面,點(diǎn)擊“刪除”按鈕,就可以刪除此記錄信息2、 刪除完成后在界面中就看不到這個(gè)記錄的信息其他時(shí)間流無通過以上的描述,能夠很清楚的知道記錄信息相

52、關(guān)的功能和操作的步驟,并且很容易發(fā)現(xiàn)系統(tǒng)相關(guān)方面的漏洞。3.1.5 系統(tǒng)的流程分析用戶進(jìn)入程序可以任意查看每個(gè)年份相對(duì)應(yīng)得日期,在每個(gè)日期的標(biāo)志用戶可以看到查看的那天是哪一個(gè)月的,并且可以為某一天設(shè)置記錄信息和相應(yīng)的提醒時(shí)間以便提醒我們?nèi)プ瞿骋患拢瑥亩鄳?yīng)的我們也可以對(duì)這個(gè)記錄進(jìn)行添加、修改、查看、刪除操作。(1) 添加記錄模塊用戶進(jìn)入記錄信息管理頁面,點(diǎn)擊“添加”選項(xiàng)菜單,在添加記錄界面中輸入信息,如果輸入一些非法字符則重新輸入信息。流程圖如圖3-3所示。 圖3-3 添加記錄流程圖(2) 設(shè)置提醒時(shí)間模塊用戶進(jìn)入設(shè)置時(shí)間狀態(tài),然后通過滑動(dòng)時(shí)間選項(xiàng)來設(shè)置時(shí)間。流程圖如圖3-4所示。圖3-4

53、設(shè)置提醒時(shí)間流程圖3.2 系統(tǒng)開發(fā)環(huán)境(1) 軟件環(huán)境開發(fā)環(huán)境:JDK1.6、Eclipse 3.7、ADT數(shù)據(jù)庫:SQLite數(shù)據(jù)庫Android環(huán)境:Android SDK(2) 硬件環(huán)境筆記本電腦(任何一部配置電腦即可)3.3 系統(tǒng)任務(wù)的可行性分析(1) 技術(shù)及開發(fā)方法可行性該應(yīng)用程序使用的是最主流和前沿的先進(jìn)技術(shù)和工具。本程序采用的是MVC模式的開發(fā),使用了Eclipse作為開發(fā)平臺(tái),結(jié)合了Android和Java的基本知識(shí),采用了SQLite數(shù)據(jù)庫,因?yàn)樗加玫目臻g小,并且能夠處理大量的數(shù)據(jù)。該應(yīng)用程序基于Android系統(tǒng),該系統(tǒng)提供了非常友好的界面和容易實(shí)現(xiàn)的操作,它的安全性,靈

54、活性和易用性為數(shù)據(jù)庫和編程提供良好的條件。因此本日程應(yīng)用程序開發(fā)成熟可行。(2) 管理可行性通過采用系統(tǒng)結(jié)構(gòu)化的設(shè)計(jì)開發(fā)方法,將整個(gè)程序劃分為多個(gè)模塊,獨(dú)立管理維護(hù),這樣當(dāng)某一個(gè)類出現(xiàn)錯(cuò)誤,就可以直接找到這個(gè)模塊進(jìn)行修改,而不用去每個(gè)類文件進(jìn)行修改。所以經(jīng)過這樣的模塊劃分,就更加有利于程序的管理和維護(hù)。(3) 經(jīng)濟(jì)可行性經(jīng)過各方面詳細(xì)謹(jǐn)慎的調(diào)研,采取了經(jīng)濟(jì)高效的開發(fā),以及科學(xué)的設(shè)計(jì)開發(fā)方法,以達(dá)到降低程序的開發(fā)成本。(4) 運(yùn)行可行性本應(yīng)用程序操作簡(jiǎn)單易懂,界面友好,程序的運(yùn)行環(huán)境只要基于Android系統(tǒng)即可。本程序的開發(fā)符合軟件設(shè)計(jì)所遵循的幾大原則,符合人們的邏輯思維習(xí)慣,所以本程序的設(shè)計(jì)

55、為以后的程序升級(jí)留有很大的空間。第4章 系統(tǒng)設(shè)計(jì)4.1 設(shè)計(jì)指導(dǎo)思想和原則4.1.1 指導(dǎo)思想本應(yīng)用程序的前端開發(fā)使用的是Android布局技術(shù),而后臺(tái)數(shù)據(jù)庫采用的是SQLite數(shù)據(jù)庫。SQLite設(shè)計(jì)目標(biāo)是嵌入式的程序,它是是一款非常輕型的數(shù)據(jù)庫,而且目前已經(jīng)在很多嵌入式的產(chǎn)品中使用了它,它占用的資源非常的低,在嵌入式的設(shè)備中,可能只僅僅需要幾百K的內(nèi)存就足夠了,因此能夠很大程度上節(jié)約系統(tǒng)的內(nèi)存。它能夠支持目前比較主流的幾種操作系統(tǒng),并且同時(shí)也能夠跟很多編程語言相結(jié)合,比如PHP、Java等,還有JDBC接口,同時(shí)它的處理速度比Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系

56、統(tǒng)都快。SQLite雖然占用的資源很小,但是它支持的SQL語句絕對(duì)不會(huì)比其他開源數(shù)據(jù)庫的差,同時(shí)它還支持事務(wù)處理功能等等。本應(yīng)用程序以Eclipse為主要開發(fā)工具,整個(gè)程序在開發(fā)過程中符合MVC模式。MVC模式要求對(duì)應(yīng)用分層,雖然要做許多額外的工作,但程序的結(jié)構(gòu)清晰,可擴(kuò)展性強(qiáng)、產(chǎn)品的應(yīng)用性通過MVC模式可以得到更好地體現(xiàn)。這恰恰是日程應(yīng)用程序所需要的。該程序的功能會(huì)隨著時(shí)代的發(fā)展及用戶的需要不斷的擴(kuò)展,因此這個(gè)程序需要不斷的進(jìn)行功能的升級(jí)和修改。4.1.2 軟件設(shè)計(jì)原則本應(yīng)用程序的功能主要包括兩方面:一是主界面的顯示,在程序的打開界面上能夠看到日期的顯示和相關(guān)的其他信息;二是后臺(tái)管理,主要實(shí)

57、現(xiàn)對(duì)記錄信息的增、刪、改、查等操作。進(jìn)入程序界面后,就可以很清晰地感受到該程序的設(shè)計(jì)所遵循的一貫原則,就是從人性化和智能化的角度出發(fā),很好的為用戶服務(wù)。4.2 系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)根據(jù)上一章的系統(tǒng)分析,本應(yīng)用程序?qū)崿F(xiàn)的功能主要有提醒時(shí)間的管理和記錄信息的管理等操作,具體如圖4-1系統(tǒng)功能結(jié)構(gòu)圖所示。 圖4-1 Google android平臺(tái)的系統(tǒng)構(gòu)架Android分為四層,從上層到底層分別是應(yīng)用層、應(yīng)用框架層、系統(tǒng)運(yùn)行庫層和Linux內(nèi)核層。(1) 應(yīng)用層。應(yīng)用層是用Java語言編寫的運(yùn)行在虛擬機(jī)上的程序。其實(shí),Google 最開始時(shí)就在 Android 系統(tǒng)中捆綁了一些核心應(yīng)用,比如E-mail客戶端、SMS短消息程序、日歷、地圖、游覽器、聯(lián)系人管理程序,等等。(2) 應(yīng)用框架層。這一層編寫Google 發(fā)布的核心應(yīng)用時(shí)所使用的API 框架,開發(fā)人員同樣可以使用這些框架來發(fā)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論