2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  太 原 理 工 大 學</p><p>  畢業(yè)設計(論文)任務書</p><p><b>  第1頁</b></p><p><b>  第2頁</b></p><p><b>  第3頁</b></p><p><b>

2、;  畢 業(yè) 設 計</b></p><p>  題目:基于android的記事本軟件的設計與實現(xiàn)</p><p>  姓  名: 任思遠 </p><p>  班 級: 軟件1006班 </p><p>  學  號: 2010004523

3、</p><p>  學 院: 軟件學院 </p><p>  專 業(yè): 軟件工程 </p><p>  指 導 教 師: 王錚、胡莉 </p><p>  2014年 4 月 18 日</p><p>  基于android記事本軟

4、件的設計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  自Google 2005年收購Android公司之后,Android(谷歌)在基于Android(安卓)操作系統(tǒng)的手機移動應用領域,投入了大量財力、人力,使得安卓技術得到迅速推廣,極大推動了移動應用軟件的發(fā)展。因此,在Android移動終端,催生了各種Android手機軟件。此外,手機的核

5、心功能當然是基于溝通、聯(lián)絡的各種應用,但是,在越來越智能、越來越時尚的手機市場,人們逐漸將其作為一個私人的工作與生活助手,從而促進了一批基于個人事務、移動辦公、購物、娛樂、游戲、閱讀等手機應用軟件的快速發(fā)展,逐漸培育出極具廣泛前景的應用市場。針對這樣的需求,本文主要針對記事本應用軟件,進行了一些嘗試性的開發(fā),希望為Android手機的移動應用貢獻微薄之力。</p><p>  記事本軟件是手機的主要應用軟件,主要

6、滿足事務記錄、事務提醒、事物查詢等移動辦公的簡單需求。在Android手機中,還可以開發(fā)多媒體形式的記事本軟件。在本課程設計中,也嘗試性開發(fā)了基于Android手機的記事本軟件,實現(xiàn)了記事本的基本功能</p><p>  本文的軟件開發(fā)環(huán)境采用了Eclipse + Android SDK集成環(huán)境,編程語言采用了Java。</p><p>  關鍵詞: Android;記事本;Eclipse

7、;Java</p><p>  Design and implementation of Android Notepad</p><p>  software based on</p><p><b>  摘要</b></p><p><b>  Abstract</b></p>&l

8、t;p>  自Google 2005年收購Android公司之后,Android(谷歌)在基于Android(安卓)操作系統(tǒng)的手機移動應用領域,投入了大量財力、人力,使得安卓技術得到迅速推廣,極大推動了移動應用軟件的發(fā)展。因此,在Android移動終端,催生了各種Android手機軟件。此外,手機的核心功能當然是基于溝通、聯(lián)絡的各種應用,但是,在越來越智能、越來越時尚的手機市場,人們逐漸將其作為一個私人的工作與生活助手,從而促進了

9、一批基于個人事務、移動辦公、購物、娛樂、游戲、閱讀等手機應用軟件的快速發(fā)展,逐漸培育出極具廣泛前景的應用市場。針對這樣的需求,本文主要針對記事本應用軟件,進行了一些嘗試性的開發(fā),希望為Android手機的移動應用貢獻微薄之力。</p><p>  Since the 2005 acquisition of Android, Google, Android (Google) based on Android (An

10、droid mobile phone operating system) mobile applications, put a lot of financial, human, allowing Android technology obtained the rapid promotion, which greatly promoted the development of mobile application software. Th

11、erefore, in the Android mobile terminal, the birth of a variety of Android mobile phone software. In addition, the core function of mobile phone course is based on communication, contact the vario</p><p>  記

12、事本軟件是手機的主要應用軟件,主要滿足事務記錄、事務提醒、事物查詢等移動辦公的簡單需求。在Android手機中,還可以開發(fā)多媒體形式的記事本軟件。在本課程設計中,也嘗試性開發(fā)了基于Android手機的記事本軟件,實現(xiàn)了記事本的基本功能</p><p>  Notepad software is the main application software of mobile phone, simple demand

13、 to meet the main transaction records, reminder, things query mobile office. In the Android mobile phone, also can develop the multimedia notepad software. In the curriculum design, and also to try to develop Android sof

14、tware based on mobile phone Notepad, to achieve the basic functions of Notepad</p><p>  本文的軟件開發(fā)環(huán)境采用了Eclipse + Android SDK集成環(huán)境,編程語言采用了Java。</p><p>  In this paper, software development environmen

15、t using the Eclipse + Android SDK integrated environment, the programming language used Java.</p><p>  關鍵詞: Android;記事本;Eclipse;Java</p><p>  Keywords: Android; Eclipse; Java Notepad;</p>

16、<p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  目 錄I</b></p><p><b>  第一章 引言1</b></p&g

17、t;<p>  1.1 Android應用的構(gòu)成和工作機制4</p><p>  1.1.1 Activity4</p><p>  1.1.2 Intent Receiver4</p><p>  1.1.3 Service5</p><p>  1.1.4 Content Provider5</p>

18、<p>  1.2 開發(fā)軟件及安裝5</p><p>  1.2.1Java運行環(huán)境5</p><p>  1.2.2 Eclipse 編程軟件7</p><p>  第二章 需求分析9</p><p>  2.1 Android記事本的使用意義9</p><p>  2.1.1用戶觸發(fā)事件9&l

19、t;/p><p>  2.1.2記事本基本需求控制10</p><p>  第三章 系統(tǒng)總體設計11</p><p>  3.1處理流程設計12</p><p>  3.1.1業(yè)務流程圖12</p><p>  3.1.2數(shù)據(jù)增加流程圖12</p><p>  3.1.3數(shù)據(jù)修改流程圖1

20、3</p><p>  3.1.4數(shù)據(jù)刪除流程13</p><p>  3.2數(shù)據(jù)字典14</p><p>  3.3數(shù)據(jù)庫概念結(jié)構(gòu)設計16</p><p>  第四章 項目概述17</p><p>  4.1 項目范圍17</p><p>  4.2項目軟件過程描述17</p

21、><p>  4.3 里程碑17</p><p>  4.4 依賴和約束17</p><p>  4.5 角色和職責18</p><p>  第五章 系統(tǒng)實現(xiàn)19</p><p>  5.1 應用程序功能實現(xiàn)19</p><p>  5.2 應用程序界面功能實現(xiàn)19</p>

22、<p>  5.2.1 應用程序主界面19</p><p>  5.2.2 分享界面21</p><p>  5.3 數(shù)據(jù)庫存儲方式22</p><p>  第六章 系統(tǒng)測試24</p><p>  6.1 測試方案及測試用例24</p><p>  6.2 系統(tǒng)測試計劃24</p>

23、<p>  6.3 系統(tǒng)測試24</p><p>  6.4 測試總結(jié)26</p><p><b>  參考文獻28</b></p><p><b>  致 謝29</b></p><p><b>  外文原文30</b></p><

24、;p><b>  原文翻譯42</b></p><p><b>  第一章 引言</b></p><p>  相信大家對Android的發(fā)展歷史多少都有一些了解, Android曾經(jīng)是一家創(chuàng)立于舊金山的公司的名字,該公司于2005年8月份被Google收購,并從此踏上了飛速發(fā)展的道路。經(jīng)過這幾年的發(fā)展,它已經(jīng)發(fā)展成了一個平臺、一個生態(tài)體系

25、?,F(xiàn)在Android在移動領域已經(jīng)得到了廣泛的應用。根據(jù)Google于2011年6月份公布的數(shù)字,現(xiàn)在每天激活的Android設備高達50萬臺,比5月份的數(shù)據(jù)增加了10萬臺!Google還透露目前已經(jīng)與36家OEM廠商和215家運營商合作,共激活了超過1億臺Android設備。</p><p>  相比于Symbian的日落西山,以及蘋果的封閉、Windows Phone的前途未卜,Android無疑代表了當前行

26、業(yè)發(fā)展的主流趨勢:開放平臺取代了封閉平臺。讓參與者均能通過自己的努力而獲益。</p><p>  從2008年9月公布1.0版本以來,經(jīng)過近三年的跨越式發(fā)展,現(xiàn)在Android已經(jīng)發(fā)展到了3.x版本,這是一個針對平板電腦而做了大量優(yōu)化的版本,包括對更大屏幕的支持的類庫、多任務優(yōu)化等。目前市場上占主流的還是2.2版本,當然,相信隨著時間的推移,2.3及后續(xù)版本會得到越來越多的設備的支持。</p>&l

27、t;p>  由于Android是近幾年才開始起步的,所以有很多朋友在關注華清遠見3G Android系統(tǒng)開發(fā)課程時,也總是會有這樣的疑問。我一直跟帶著這種疑問的朋友說,回答這個問題,有幾個關鍵點:</p><p>  第一、這個市場是否足夠大(或者能發(fā)展到足夠大),這點我相信大家對于移動設備的現(xiàn)狀有足夠的了解,對其未來的發(fā)展不會有什么異議;</p><p>  其次是你所從事的領域是

28、否處于上升通道上?身處一個上升的通道,個人只要付出一定的努力,這個行業(yè)都會帶著你往上走,相反,如果處于一個沒落的行業(yè),個人再努力,可能都趕不上整個行業(yè)墜落的速度。Android這幾年的發(fā)展可謂有目共睹,就像前面所說,每天的設備激活數(shù)目就達到了50萬臺;</p><p>  其三,是否有足夠多的大公司參與其中,或者是否成就了一些公司。行業(yè)的發(fā)展,離不開業(yè)內(nèi)大公司的支持,或者,是否有公司在該領域得到了長足的發(fā)展。處于

29、這個行業(yè)的大公司,除了Google本身外,也成就了一些公司,例如Motorola移動、HTC,前者借Android咸魚翻身,后者借Android成了市值超越Nokia的公司。行業(yè)的發(fā)展如此紅火,那么作為開發(fā)者,是否可以從中獲益呢?我們可以從“Android工程師一年經(jīng)驗月薪8000元:這則新聞來看這個行業(yè)的開發(fā)者的情況,由此可以看出,這個行業(yè)的從業(yè)人員現(xiàn)在有多搶手。</p><p>  目前國內(nèi)的Android開

30、發(fā)還是主要以應用開發(fā)為主,主要分成3類:為企業(yè)開發(fā)應用、開發(fā)通用應用(放到Android Market或者其他App Market銷售)以及游戲開發(fā)(放到Android Market或者其他App Market銷售)。</p><p>  第一類開發(fā)者一般身處規(guī)模較大的公司,這些公司主要為自有品牌或者其他品牌設計手機或者平板電腦的總體方案。除了根據(jù)需求對系統(tǒng)進行定制外,更多的工作在于為這些系統(tǒng)編寫定制的應用。&l

31、t;/p><p>  第二類開發(fā)者,一般處于創(chuàng)業(yè)型公司或者是獨立開發(fā)者,他們的盈利方式主要是2種:為國外公司進行外包開發(fā),或者通過Google的移動廣告(AdMob)通過廣告點擊分成。而理論上的通過付費下載的形式來盈利的,現(xiàn)在國內(nèi)鮮見成功者。第三類開發(fā)者,目前和第二類開發(fā)者類似。</p><p>  下圖1-1是開發(fā)者提交的應用和游戲的數(shù)目所占的比例圖,從中也可以看出應用開發(fā)數(shù)目遠超游戲開發(fā)。

32、</p><p><b>  圖1-1</b></p><p>  相對于其他移動開發(fā)平臺,因為Android的(應用)開發(fā)采用了Java語言,所以,它的學習曲線相對比較平緩。對于那些有一些</p><p>  編程語言(如C/C++/Java等)訓練的學生,都可以考慮學習Android應用開發(fā)。當然,如果你希望從事Android游戲開發(fā),那么

33、,最好能在高數(shù)、離散數(shù)學甚至計算機圖形學等方面有比較扎實的基礎。如果后續(xù)想往底層開發(fā)如系統(tǒng)移植、驅(qū)動開發(fā)等方向發(fā)展,或者為了更好地理解Android 應用架構(gòu)體系,那么,具備一定的操作系統(tǒng)知識是必要的,當然,并不需要你對操作系統(tǒng)有多精通,而是對其基本原理有一定了解即可。</p><p>  如何學習Android開發(fā)?</p><p><b>  圖1-2</b>&l

34、t;/p><p>  上面圖1-2是Android的體系架構(gòu)圖,自上而下分別為應用層、應用框架、類庫和Alvik運行時環(huán)境以及Linux內(nèi)核。一般來說,我們想從事Android開發(fā),可以從應用開發(fā)作為切入點,逐漸熟悉其整個體系,并慢慢往其底層滲透,從而能做到軟硬兼?zhèn)?,Android系統(tǒng)開發(fā)班的課程設置就充分考慮到了這一點,既涉及到應用開發(fā)的透徹掌握,又幫助大家在系統(tǒng)開發(fā)層面上做好充分的準備。而從學習的路線圖上來說,先

35、熟悉Java SE編程,能比較熟練的使用Java語言進行編程,熟悉Java語言語法特點,熟悉Java IO、Java線程、網(wǎng)絡編程、XML處理等。另外,因為很多的Android應用在運行時都需要去訪問網(wǎng)站服務器,因此,熟悉一種網(wǎng)絡編程語言也是必要的。</p><p>  無論是從學習的方便性還是市場占有情況來說,使用JSP/Servlet都是不二的選擇,另外,在這個階段也順便學習一下SQL語法和熟悉一種SQL數(shù)據(jù)

36、庫,以方便后續(xù)Android開發(fā)中進行SQLite數(shù)據(jù)庫開發(fā)。學習完這些課程后,就可以開始進行Android的應用開發(fā)的學習,例如Android中的UI組件、基本組件、數(shù)據(jù)存儲、傳感器、圖形圖像處理、多媒體處理、游戲開發(fā)等。為了更好地進行應用編程,可以有選擇的對其Lib類庫進行分析,以加深對其工作機制的理解。再往下,就是操作系統(tǒng)層級了,這里應該要對Linux操作系統(tǒng)進行學習,熟悉其內(nèi)核和運行原理,熟悉ARM體系架構(gòu)以及常用指令,并熟悉驅(qū)

37、動的編寫方式,掌握其移植方法等。</p><p>  1.1 Android應用的構(gòu)成和工作機制</p><p>  對于一個Android應用程序來說,是由Activity、 Intent Receiver 、Service、Content Provider四部分組成,但并不是每一個Android應用程序都必須由這四部分組成。在應用程序中使用時,需要在配置文件AndroidMainfes

38、t.xml中進行配置。這個配置文件是每個Android應用程序所必需的,用于定義應用程序的組件、組件的功能以及必要條件等。</p><p>  1.1.1 Activity</p><p>  Activity是構(gòu)成應用程序中最重要的構(gòu)造塊, 在Android應用程序中,幾乎都是通過Activity來與用戶進行交互,所以Activity主要負責的就是創(chuàng)建與用戶進行交互的顯示窗口,你可以在這

39、些窗口里通過調(diào)用setContentView(View)方法來顯示你自己的用戶界面。</p><p>  活動(Activity)在系統(tǒng)中以活動棧的形式進行管理。當一個新的活動啟動后,被放到了棧頂,成為了運行活動,而新活動之前的活動在活動棧里總位于新活動之下,直到新的活動退出才重新回到前臺。</p><p>  從圖2-2可以看出,Activity有三個關鍵的循環(huán):</p>

40、<p>  (1)活動的整個生命期:從首次調(diào)用onCreate(Bundle)開始,到最終調(diào)用onDestroyO結(jié)束。在onCreate()中進行所有初始化,在onDestroyO時進行清理工作,釋放資源。</p><p>  (2)活動的可見生命期:從調(diào)用onStart()開始,到onStop()被調(diào)用為止。在這段時間內(nèi),即使活動不與用戶進行交互,用戶也可以在屏幕上看到它。在這兩個方法調(diào)用之間,可以

41、維護活動顯示給用戶的資源。onStart()和onStop()方法可以多次調(diào)用,因為活動隨時可以在可見和隱藏之間進行轉(zhuǎn)換。</p><p>  (3)活動的后臺生命期:從調(diào)用onResume()開始,到onPause()被調(diào)用為止。這段時間內(nèi)活動處于其它所有活動之前,并與用戶進行交互。一個活動可以不斷在resumed狀態(tài)和paused狀態(tài)之間變換。</p><p>  Android使用了

42、Intent類來實現(xiàn)活動之間的切換工作。Intent負責對應用中一次操作的動作、動作涉及的數(shù)據(jù)和附加數(shù)據(jù)進行描述。根據(jù)Intent的描述,負責找到對應的組件,將Intent傳遞給調(diào)用的組件并完成組件的調(diào)用。因此,Intent起著一種媒體中介的作用,專門提供組件互相調(diào)用的相關信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦。在應用中,我們可以以兩種形式來使用Intent:直接Intent,指定了component屬性的Intent,通過指定具體的組件

43、類,通知應用啟動對應的組件。間接Intent,沒有指定component屬性的Intent,則需要包含足夠的信息,這樣系統(tǒng)才能根據(jù)這些信息,在所有的可用組件中,確定滿足此Intent的組件。</p><p>  1.1.2 Intent Receiver</p><p>  Intent Receiver是用于對外部事件的響應,當外部事件發(fā)生時,會使用Notification Manage

44、r通知用戶。當一個Intent Receiver被觸發(fā)時,系統(tǒng)會在需要的時候啟動對應的應用程序。如在本系統(tǒng)中,當用戶正在其它界面進行操作時,有好友發(fā)送消息過來,就會以通知的形式發(fā)送到當前界面的正上方來通知用戶。各種應用還可以通過使用Context.Broadcast Intent()將它們的Intent Receiver廣播給其它的應用程序,實現(xiàn)應用之間的通訊。</p><p>  1.1.3 Service&l

45、t;/p><p>  Service是提供連續(xù)信息的應用程序。它是運行于應用程序后臺的服務,在用戶進行其它活動的時候,這個服務將一直運行在基于Android平臺的即時通訊系統(tǒng)的研究與實現(xiàn)后臺,直到用戶停止該服務或服務運行結(jié)束。本系統(tǒng)客戶端擴展功能就是采用Service來進行設計和開發(fā)的。</p><p>  1.1.4 Content Provider</p><p>

46、  Content Provider應用程序能夠?qū)⑺鼈兊臄?shù)據(jù)保存到文件、SQL數(shù)據(jù)庫和其它的存儲設備中。當應用程序需要使用存儲設備中的數(shù)據(jù)時,可以使用Content Provider來完成。使用Content Provider能夠靈活的替換底層使用的存儲設備,使開發(fā)者可以專著于應用邏輯的開發(fā),不用考慮底層存儲設備的細節(jié),從而使應用系統(tǒng)具有良好的數(shù)據(jù)。</p><p>  1.2 開發(fā)軟件及安裝</p>

47、<p>  1.2.1Java運行環(huán)境 </p><p>  安裝JDK,首先下載好JDK應用程序:jdk-6u21-windows-i586.exe,然后單機安裝,安裝的目錄都在D盤,所有其他步驟只要保持默認就行了,接著就是環(huán)境配置,具體做法與步驟如下:</p><p>  在“計算機”上點右鍵—>“屬性”—>“高級系統(tǒng)設置”—> “環(huán)境變量(N)”。&l

48、t;/p><p>  圖1-3 配置環(huán)境變量</p><p>  新建系統(tǒng)變量JAVA_HOME:D:\jre環(huán)境配置;如圖1-4所示。</p><p>  圖1-4 配置java_home</p><p>  新建系統(tǒng)變量CLASSPATH:.;%JAVA_HOME%\lib;(注意:點號表示當前目錄,不能省略)</p><

49、p>  圖1-5 配置classpass</p><p>  在系統(tǒng)變量Path的值的前面加入以下內(nèi)容:%JAVA_HOME%\bin;(注意:這里的分號不能省略)到這里,JDK安裝完畢。</p><p>  圖1-6 配置path</p><p>  本系統(tǒng)安裝的是jdk-6u21-windows-i586.exe文件,并對其進行環(huán)境配置,配置成功后,打開c

50、md后,輸入java –version會顯示所使用的JRE版本,如下圖所示,表示環(huán)境配置成功。</p><p>  圖1-7 cdm下查看jdk</p><p>  1.2.2 Eclipse 編程軟件</p><p>  Eclipse是由Sun公司提出的免費開源軟件;具有強大的java程序開發(fā)擴展性,能實現(xiàn)java程序的編寫編譯測試和運行的一體化;還支hiber

51、nate,cvs,xml,uml,Spring等面向?qū)ο缶幊痰幕谟成鋪韺崿F(xiàn)的編程擴展性;是一款比較理想的開發(fā)軟件。</p><p>  在開發(fā)的過程中我們只要應用是的Sun公司提供是Swing圖形界面工具來實現(xiàn)主要模塊和框架;故該系統(tǒng)是用純java語言來實現(xiàn)的。</p><p>  Eclipse使用的是中文版本,該版本便于使用,具有很好的開發(fā)性、高效的GUI、先進的代碼編輯器等,其項目

52、可以包含多種多樣的子項目組,每個包文件都有其特定的功能,比如scr里放的是源文件,Java程序就編寫于其中;而res包中含有桌面布局xml編程,某些圖片也存放在這里。該代碼編輯器還可以支持在線下載插件,擴展更為豐富的功能。其主界面如圖1.8所示:</p><p><b>  圖1-8 主界面圖</b></p><p>  插件ADT的下載,在Eclipse菜單欄上打開

53、“幫助”,選“Install New Software...”,會跳出如下窗口,在“work with”后面輸入網(wǎng)址“https://dl-ssl.google.com/android/eclipse/”,單機“Add”按鈕,具體步驟如1.9 </p><p><b>  所示:</b></p><p>  圖1-9 在Eclipse中添加軟件</p>

54、<p><b>  第二章 需求分析</b></p><p>  該記事本軟件是一種主要用來記錄筆記的基于安卓平臺的軟件,可以運行在安卓平臺模擬器或運行在安卓平臺的手持設備上。</p><p>  2.1 Android記事本的使用意義</p><p>  根據(jù)手機功能使用調(diào)查顯示,大部分的消費者都會使用手機記事本功能。隨著手機記事本

55、功能的不斷加強與完善,手機記事本對于人們的意義,已不僅僅像一般記事簿一樣做簡單記錄,而是向著個性化、人性化的方向發(fā)展。</p><p>  2.1.1用戶觸發(fā)事件</p><p>  記事本與外部環(huán)境的交互。在這個系統(tǒng)中,通過對系統(tǒng)的分析,可以識別出參與者:用戶。對于用戶而言,記事本上按鈕是用戶向系統(tǒng)輸入的操作請求的輸入設備,設備顯示器是用于向用戶輸出信息的輸出設備。</p>

56、<p>  事件是來自人操作的重要的消息,下表2.1給出了記事本系統(tǒng)中可能發(fā)生的所有事件。</p><p>  系統(tǒng)響應及其執(zhí)行結(jié)果</p><p><b>  表2.1</b></p><p>  2.1.2記事本基本需求控制</p><p>  系統(tǒng)用例圖描述的是用戶眼中的系統(tǒng),即用戶希望系統(tǒng)有哪些功能和

57、通過哪些操作完成這些功能。一個用例代表用戶與系統(tǒng)交互的一種方式。正如前面介紹過的,識別用例的最好方法是從參與者的角度分析系統(tǒng)。在android記事本中,首先的參與者是用戶。如圖2-1所示,它從用戶角度描述了該系統(tǒng)應該具有何種功能。</p><p><b>  圖2-1</b></p><p>  第三章 系統(tǒng)總體設計</p><p>  常規(guī)的

58、Android手機記事本軟件主要功能模塊包括:記事,查看、編輯修改,刪除記事。如圖3-1所示。</p><p><b>  圖3-1</b></p><p>  這次課題的目的是在Android系統(tǒng)的手機開發(fā)平臺之上,研究與開發(fā)一個記事本軟件,提供適用手機的記事本功能服務,其中包括以下幾個功能:</p><p>  1.可以實現(xiàn)基本的文本功能,

59、如新建文本,刪除修改文本,查看已有文件等</p><p>  3.編輯好的事件能發(fā)到微薄空間等交互平臺</p><p>  4.能以email的形式發(fā)送信息</p><p>  5.界面設計力求簡潔,整個軟件要盡量占用較少內(nèi)存</p><p>  首先,記事本的基本功能就是記事,手機用戶首先用到的就是文本記事,輸入事務信息以文本的形式展現(xiàn)出來

60、,存儲起來。</p><p>  其次,在支持傳統(tǒng)的文字記事方式下,還要可以分享到微薄空間等。</p><p>  再次,如果記事本的信息很多,而用戶又需要快速找到自己需要的記事信息,這時候內(nèi)容檢索就非常有用了。</p><p>  最后,針對商務人士,或者是經(jīng)常使用郵箱(如Gmail)的用戶來說,有時候希望通過查看郵箱的同時查看記事本的信息,一次性獲取全部。所以記

61、事本同步郵箱功能能夠為用戶帶來更多的功能與便利。</p><p><b>  3.1處理流程設計</b></p><p>  3.1.1業(yè)務流程圖</p><p>  用戶進入手機記事本軟件后,會看到所有記事列表界面。列表界面主菜單中包括添加、刪除菜單項。點擊添加,則進入添加界面,添加成功后返回列表界面,如圖3-2所示</p>&

62、lt;p><b>  圖3-2</b></p><p>  3.1.2數(shù)據(jù)增加流程圖</p><p>  添加記事時,數(shù)據(jù)由用戶輸入,點擊確定按鈕。流程如圖3-3所示:</p><p><b>  圖3-3</b></p><p>  3.1.3數(shù)據(jù)修改流程圖</p><p

63、>  編輯記事時,點擊其中一條記錄,輸入修改后的數(shù)據(jù),點擊確定按鈕,則更新數(shù)據(jù)庫; 流程如圖3-4所示:</p><p><b>  圖3-4</b></p><p>  3.1.4數(shù)據(jù)刪除流程</p><p>  當用戶選定一個其中記事條時,單擊菜單,刪除其中一條記錄,則從數(shù)據(jù)庫中刪除此條記錄。數(shù)據(jù)刪除流程如圖3-5所示:</p&

64、gt;<p><b>  圖3-5</b></p><p><b>  3.2數(shù)據(jù)字典</b></p><p>  用戶操作記事本數(shù)據(jù)流程圖,如下圖3-6所示</p><p><b>  圖3-6</b></p><p>  數(shù)據(jù)流的描述表3.1</p>

65、;<p>  處理邏輯的描述表3.2</p><p>  數(shù)據(jù)存儲的描述表3.3</p><p>  外部實體的描述表3.4</p><p>  3.3數(shù)據(jù)庫概念結(jié)構(gòu)設計</p><p>  在記事本軟件中,記事作為主要操作對象,其ER圖如下圖3-7所示</p><p><b>  圖3-7&l

66、t;/b></p><p><b>  第四章 項目概述</b></p><p><b>  4.1 項目范圍</b></p><p>  手機記事本作為手機的基本功能之一,我們都在頻繁地使用著。隨著手機記事本功能的不斷加強與完善,手機記事本對于人們的意義,已不僅僅像記事簿一樣簡單記錄,而是向著個性化、人性化的方向發(fā)

67、展。</p><p>  4.2項目軟件過程描述</p><p>  用戶進入手機記事本軟件后,會看到所有記事列表界面。列表界面主菜單中包括添加、刪除菜單項。點擊添加,則進入添加界面,添加成功后返回列表界面。</p><p>  記事本軟件是手機的主要應用軟件,主要滿足事務記錄、事務提醒、事物查詢等移動辦公的簡單需求。在Android手機中,還可以開發(fā)多媒體形式的記

68、事本軟件。在本課程設計中,也嘗試性開發(fā)了基于Android手機的記事本軟件,實現(xiàn)了記事本的基本功能</p><p>  本文的軟件開發(fā)環(huán)境采用了Eclipse + Android SDK集成環(huán)境,編程語言采用了Java。</p><p><b>  4.3 里程碑</b></p><p>  提示:里程碑是項目進度的關鍵點,這一部分定義項目需要

69、跟蹤的關鍵點:</p><p>  第一階段:需求分析及總體介紹第二階段:搜集查詢相關資料第三階段:系統(tǒng)總體設計及模塊劃分</p><p>  第四階段:詳細設計及模塊功能實現(xiàn)</p><p>  第五階段:模塊聯(lián)調(diào)及測試和維護第六階段:撰寫論文及論文答辯</p><p><b>  4.4 依賴和約束</b>&l

70、t;/p><p>  基于android系統(tǒng)平臺的設備或模擬器</p><p><b>  4.5 角色和職責</b></p><p><b>  如表4.1</b></p><p><b>  表4.1</b></p><p><b>  第五章

71、 系統(tǒng)實現(xiàn)</b></p><p>  5.1 應用程序功能實現(xiàn)</p><p>  本系統(tǒng)的主要功能所用到類以及其作用,具體如表5.1系統(tǒng)結(jié)構(gòu)類圖說明所示。</p><p><b>  主要文件列表:</b></p><p><b>  表5.1 </b></p><

72、;p>  5.2 應用程序界面功能實現(xiàn)</p><p>  5.2.1 應用程序主界面</p><p>  應用程序啟動主界面如圖5-1所示。</p><p>  圖5-1 系統(tǒng)啟動主界面</p><p>  Android的每一個可視化界面都有一個唯一的布局配置文件,該文件里面有許多種布局方式,和各種資源文件如圖像,文字,顏色,本程序

73、在運行時,可以通過代碼對各配置文件里面的內(nèi)容進行讀取以完成Android應用程序的界面。這樣就可以形成多種不同的可視化界面和豐富炫麗的效果。其主要代碼如下:</p><p>  LinearLayout mainLayout = (LinearLayout) getLayoutInflater().inflate(</p><p>  R.layout.main, null);</p

74、><p>  setContentView(mainLayout);</p><p>  calendarView = new CalendarView(this);</p><p>  mainLayout.addView(calendarView);</p><p>  該代碼主要把日程應用程序的主界面展現(xiàn)在用戶面前。除此之外,我們能夠看到在

75、有一個設置布局的方法setContentView(mainLayout),而該方法的mainLayout是通過是通過獲取R.java類里的ID獲取的,而此ID正是代表res/layout目錄下的main.xml文件。</p><p>  下面為布局文件main.xml的代碼。</p><p>  <?xml version="1.0" encoding="

76、;utf-8"?></p><p>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"</p><p>  android:orientation="vertical" android:layout_width="fill

77、_parent"</p><p>  android:layout_height="fill_parent" android:background="@color/calendar_background"><!-- android:background="@drawable/background" --></p>

78、<p>  <RelativeLayout android:id="@+id/calHeader" android:layout_width="fill_parent"</p><p>  android:layout_height="70dp"></p><p>  <LinearLayout a

79、ndroid:layout_width="fill_parent" </p><p>  android:layout_height="wrap_content" android:layout_toRightOf="@id/ivLogo"</p><p>  android:layout_marginTop="@dime

80、n/margin" android:orientation="vertical" > </p><p>  <TextView android:id="@+id/tvMsg1" android:layout_width="fill_parent"</p><p>  android:layout_height

81、="wrap_content" android:textColor="@color/text_color" android:textSize="16sp"/> </p><p>  </LinearLayout></p><p>  </RelativeLayout></p><

82、;p>  </LinearLayout></p><p>  5.2.2 分享界面</p><p>  分享應用程序的界面如圖5-2所示。</p><p><b>  圖5-2 分享界面</b></p><p>  首先需要在單擊選項菜單時顯示如圖5-2所示的設置分享的對話框,菜單單擊事件的代碼如下:

83、</p><p>  builder = new AlertDialog.Builder(activity);</p><p>  builder.setTitle("分享");</p><p>  dpSelectDate.init(calendarView.ce.grid.currentYear,</p><p>  

84、calendarView.ce.grid.currentMonth,</p><p>  calendarView.ce.grid.currentDay, this);</p><p>  builder.setView(myDateLayout);</p><p>  adMyDate = builder.create();</p><p>

85、;  onDateChanged(dpSelectDate, dpSelectDate.getYear(), dpSelectDate</p><p>  .getMonth(), dpSelectDate.getDayOfMonth());</p><p>  adMyDate.show();</p><p>  5.3 數(shù)據(jù)庫存儲方式</p>&l

86、t;p>  SQLite是一款非常流行的嵌入式數(shù)據(jù)庫,它支持SQL查詢,并且只用很少的內(nèi)存。Android在運行時集成了SQLite,所以每個Android應用程序都可以使用SQLite數(shù)據(jù)庫。對數(shù)熟悉SQL的開發(fā)人員來時,使用SQLite相當簡單。但是,由于JDBC不適合手機這種內(nèi)存受限設備,所以Android開發(fā)人員需要學習新的API來使用SQLite。</p><p>  Android不自動提供數(shù)據(jù)

87、庫。在Android應用程序中使用SQLite,必須自己創(chuàng)建數(shù)據(jù)庫,然后創(chuàng)建表、索引,填充數(shù)據(jù)。Android提供了SQLiteOpenHelper幫助我們創(chuàng)建一個數(shù)據(jù)庫,我們只要繼承SQLiteOpenHelper類,就可以輕松創(chuàng)建數(shù)據(jù)庫。SQLiteOpenHelper類根據(jù)開發(fā)應用程序的需要,封裝了創(chuàng)建和更新數(shù)據(jù)庫使用的邏輯。SQLiteOpenHelper的子類,至少需要實現(xiàn)三個方法:</p><p> 

88、 ?構(gòu)造函數(shù),調(diào)用父類SQLiteOpenHelper的構(gòu)造函數(shù)。這個方法需要四個參數(shù):上下文環(huán)境(例如,一個Activity),數(shù)據(jù)庫名字,一個可選的游標工廠(通常是Null),一個代表你正在使用的數(shù)據(jù)庫模型版本的整數(shù)。</p><p>  ?onCreate()方法,它需要一個SQLiteDatabase對象作為參數(shù),根據(jù)需要對這個對象填充表和初始化數(shù)據(jù)。</p><p>  ?onU

89、pgrage()方法,它需要三個參數(shù),一個SQLiteDatabase對象,一個舊的版本號和一個新的版本號,這樣你就可以清楚如何把一個數(shù)據(jù)庫從舊的模型轉(zhuǎn)變到新的模型。</p><p>  在日程應用程序的DBService類中同樣實現(xiàn)了上述的三個方法來創(chuàng)建數(shù)據(jù)庫和一些操作。當我們需要在數(shù)據(jù)庫中進行創(chuàng)建表、刪除數(shù)據(jù)、插入數(shù)據(jù)時,一般就要調(diào)用getReadableDatabase()或getWriteableData

90、base()方法,來得到SQLiteDatabase實例去改變數(shù)據(jù)庫里的內(nèi)容。其中的刪除數(shù)據(jù)的代碼如下:</p><p>  public void deleteRecord(int id)</p><p><b>  {</b></p><p>  String sql = "delete from t_records where

91、id = " + id;</p><p>  SQLiteDatabase db = this.getWritableDatabase();</p><p>  db.execSQL(sql);</p><p><b>  }</b></p><p>  而查詢數(shù)據(jù)時我們就要用到Cursor游標來遍歷數(shù)據(jù)庫中的

92、數(shù)據(jù)了,其代碼如下:</p><p>  public Cursor query(String date)</p><p><b>  {</b></p><p>  SQLiteDatabase db = this.getReadableDatabase();</p><p>  Cursor cursor = db.

93、rawQuery(</p><p>  "select id,title from t_records where record_date='" + date</p><p>  + "' order by id desc", null);</p><p>  return cursor;</p>

94、<p><b>  }</b></p><p><b>  第六章 系統(tǒng)測試</b></p><p>  為了提高本應用程序的質(zhì)量,使應用程序的使用更加人性化,友好化,一個完整的軟件測試是必不可少的。通過軟件測試我們能夠發(fā)現(xiàn)其中的一些錯誤和不合理的地方,這對于系統(tǒng)的完善是極有好處的。</p><p>  6.1

95、 測試方案及測試用例</p><p>  軟件測試是對軟件質(zhì)量保證的關鍵步驟,它是在軟件投入運行前,對軟件的需求分析、軟件規(guī)格說明和編碼實現(xiàn)的最終審查。通常對軟件的定義有兩種描述,第一軟件測試是為了發(fā)現(xiàn)錯誤而必須執(zhí)行的程序的過程;第二軟件測試是根據(jù)軟件設計開發(fā)各階段的需求說明和程序的內(nèi)部結(jié)構(gòu)而精心設計的一些測試用例,并利用這些測試用例運行程序和及時發(fā)現(xiàn)錯誤的過程,即執(zhí)行測試步驟。</p><p

96、>  按照軟件測試用例的設計方法而論,軟件測試可以分為白盒測試和黑盒測試法。</p><p>  按照軟件測試的策略和過程分類,軟件測試可分為單元測試、集成測試、系統(tǒng)測試、驗證測試和確認測試。</p><p>  6.2 系統(tǒng)測試計劃</p><p>  在系統(tǒng)的開發(fā)和設計過程中,對系統(tǒng)做了如下幾個方面的測試:</p><p> ?。?

97、)功能及正確性測試:對后臺記錄信息的增、刪、改、查等操作的測試。</p><p>  (2)及時正確的處理系統(tǒng)各種錯誤的異常。</p><p><b>  6.3 系統(tǒng)測試</b></p><p>  (1)添加記錄測試用例,具體如表6.1所示。</p><p>  功能描述:驗證添加記錄信息功能。</p>

98、<p>  用例目的:驗證添加記錄信息功能的實現(xiàn)。</p><p>  前提條件:已經(jīng)進入到添加記錄信息的頁面。</p><p>  表6.1 添加記錄測試</p><p> ?。?)修改記錄測試用例,具體如表6.2所示。</p><p>  功能描述:驗證修改記錄信息功能。</p><p>  用例目的:

99、驗證修改記錄信息功能的實現(xiàn)。</p><p>  前提條件:已經(jīng)進入到修改記錄信息的頁面。</p><p>  表6.2 修改記錄測試</p><p>  (3)刪除記錄測試用例,具體如表6.3所示。</p><p>  功能描述:驗證刪除記錄信息功能。</p><p>  用例目的:驗證刪除記錄信息功能的實現(xiàn)。<

100、;/p><p>  前提條件:已經(jīng)進入到刪除記錄信息的頁面。</p><p>  表6.3 刪除記錄測試</p><p> ?。?)查看記錄測試用例,具體如表6.4所示。</p><p>  功能描述:驗證查看記錄信息功能。</p><p>  用例目的:驗證查看記錄信息功能的實現(xiàn)。</p><p>

101、;  前提條件:已經(jīng)進入到查看記錄信息的頁面。</p><p>  表6.4 查看記錄測試</p><p><b>  6.4 測試總結(jié)</b></p><p>  通過對各個不同功能模塊的測試,本應用程序基本運行正確,沒什么太大的問題,但是因個人水平有限,仍然有許多地方需要改進,比如界面的美觀,提醒時間的功能的多樣性等等。一個完整的運行的系統(tǒng)

102、不可能一步做到完美的地步,這需要在以后的學習生活中進一步完善。在本應用程序中還有一些技術上的問題沒能夠得到完美的解決,希望在以后的生活中,進一步學習這方面的技術,使這個程序到達完美的地步。最后經(jīng)過多方面的方法測試,本應用程序基本設計完成,能夠正常運行。</p><p><b>  第7章 結(jié) 論</b></p><p>  本系統(tǒng)是基于Android系統(tǒng)的應用程序,所

103、以主要是在Android的框架中進行開發(fā)設計。由于在Android系統(tǒng)下開發(fā)程序和在JavaME的原理類似,所以本系統(tǒng)也采用了類似于MVC模式的原理。本應用程序由界面顯示和后臺管理組成,符合一般人的邏輯思維。本程序的一個特點是在界面上進行了優(yōu)化,在處理一些事務的邏輯算法上進行了優(yōu)化。所以,在使用本程序時會感到人性化和界面的友好。一方面,本程序采用了類似于MVC模型的開發(fā)模式,由Activity類負責調(diào)用處理事務的方法并在前臺進行顯示,由

104、xml文件負責頁面的布局。另一方面,本日程應用程序采用Java和Android的相關技術,實現(xiàn)頁面的展現(xiàn)和相關邏輯思路的處理,用SQLite數(shù)據(jù)庫實現(xiàn)對記錄信息的增、刪、改、查等操作,并盡可能的在Android的UI上實現(xiàn)了美觀?;谝陨显?,使得本程序在以后的擴展和程序的升級上都有很大的空間。</p><p>  通過完成這次的畢業(yè)論文,使我認識的一個完整項目的開發(fā)的不易,也使我進一步加深了對數(shù)據(jù)庫操作的理解,

105、清楚了一個完整的應用程序開發(fā)的流程,進一步認識到一個優(yōu)秀的數(shù)據(jù)庫和良好的算法是多么的重要。而且還使我認識到一個優(yōu)秀的程序離不了測試,只有不斷的進行測試,我們的程序才能趨于完美。</p><p><b>  參考文獻</b></p><p>  [1].BruceEckel.JAVA編程思想[M],北京:機械工業(yè)出版社,2003.</p><p>

106、;  [2].賽奎春.JAVA工程應用與項目實踐[M],北京:機械工業(yè)出版社,2002.</p><p>  [3].FLANAGAN.JAVA技術手冊[M],北京:中國電力出版社,2002.</p><p>  [4].孫涌.現(xiàn)代軟件工程[M],北京:北京希望電子出版社,2003.</p><p>  [5].薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M],北京:高等教育出版

107、社,2002.</p><p>  [6].王向輝,張國印,沈潔.Android應用程序開發(fā)[M],北京:清華大學出版社,2009.</p><p>  [7].李剛.瘋狂Android講義[M],北京:電子工業(yè)出版社,2011.</p><p>  [8].楊豐盛.Android應用開發(fā)揭秘[M],北京:機械工業(yè)出版社,2010.</p><p

108、>  [9].鄧凡平.深入理解Android[M],北京:機械工業(yè)出版社,2011.</p><p>  [10].王世江,蓋索林.Google Android 開發(fā)入門指南[M],北京:人民郵電出版社, 2009.</p><p>  [11].哈希米,克曼特內(nèi)尼,麥克萊恩.精通Android 2[M],北京:人民郵電出版社,2010.</p><p>  

109、[12].柯元旦.Android內(nèi)核剖析[M],北京:電子工業(yè)出版社,2011.</p><p>  [13].墨菲.Android開發(fā)入門教程[M],北京:人民郵電出版社,2010.</p><p>  [14].梅爾.Android 2高級編程(第2版)[M],北京:清華大學出版社,2010.</p><p>  [15].郭宏志.Android應用開發(fā)詳解[M

110、],北京:電子工業(yè)出版社,2010.</p><p><b>  致 謝</b></p><p>  經(jīng)過幾個月的努力,畢業(yè)設計終于完成,在這期間我學到了很多東西。而在這最后的幾個月時間也同樣離不開老師的教誨和指導,我深知如果沒有老師的指導,我的論文不可能那么順利的完成了。所以,我要感謝這四年里各位老師對我的諄諄教誨和不遺余力的學習指導。</p>&l

111、t;p>  首先,我要非常感謝我的導師XXX。她為人隨和熱情,治學認真嚴謹。在平常的學習生活中能夠像朋友一樣鼓勵你,而在畢業(yè)論文的寫作和措辭等方面她總會以非常嚴格的標準要求你。從開題報告開始,一直到論文的完成,老師始終認真仔細負責的給予我細致的指導。正是由于老師的細心幫助和不厭其煩的指導,我的畢業(yè)論文才能順利完成。</p><p>  其次,非常感謝計算機的計算機系老師們,雖然他們沒有直接參與我的論文指導,

112、但他們總是在關鍵的時候給予我最大的幫助和啟示,使我學到了更多的專業(yè)知識,從而能夠順利的完成畢業(yè)論文。</p><p>  最后,還要深深感謝我的同學和家人,是他們給予了我精神上和物質(zhì)上的鼓勵,使我得以順利完成了畢業(yè)論文。</p><p>  總之,在做畢業(yè)設計期間,我學到了很多東西,這勢必會為我未來的發(fā)展打下很好的基礎。我不會辜負老師和同學的期望,我會更加努力的。</p>&

113、lt;p><b>  外文原文</b></p><p>  Android Application Fundamentals</p><p>  Android applications are written in the Java programming language. The Android SDK tools compile the code—alo

114、ng with any data and resource files—into an Android package, an archive file with an .apk suffix. All the code in a single .apk file is considered to be one application and is the file that Andro

115、id-powered devices use to install the application.</p><p>  Once installed on a device, each Android application lives in its own security sandbox:</p><p>  The Android operating system is a mul

116、ti-user Linux system in which each application is a different user.</p><p>  By default, the system assigns each application a unique Linux user ID (the ID is used only by the system and is unknown to the ap

溫馨提示

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

評論

0/150

提交評論