軟件工程畢業(yè)論文-基于android系統(tǒng)的同學錄的實現(xiàn) 2_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  基于Android系統(tǒng)的同學錄的實現(xiàn)</p><p><b>  摘 要</b></p><p>  隨著第三代通信技術3G的推廣,無線帶寬和傳輸速度都

2、得到了大幅度提升,為智能手機終端添加更多內(nèi)容豐富的應用功能提供了良好的平臺。本系統(tǒng)是基于谷歌公司新推出的一款Linux平臺的開源手機操作系統(tǒng)——Android系統(tǒng),利用Java語言,Eclipse作為客戶端的開發(fā)工具,Myeclipse6.5作為服務器端的開發(fā)工具,服務器利用tomcat進行架設和發(fā)布,后臺數(shù)據(jù)庫使用MySql,通過以上技術的組合在基于目前流行的云存儲下很好的滿足了用戶對通訊錄的需求。此通訊錄的設計遵循標準的開發(fā)流程,進

3、行需求分析,確定通訊錄的功能,編寫程序的代碼,調(diào)試程序,運行程序,并對程序進行優(yōu)化完善。</p><p>  關鍵詞:Android;手機通訊錄;Java</p><p><b>  Abstract</b></p><p>  With the 3G promotion of third-generation communications t

4、echnology, wireless bandwidth and transmission speed have been improved significantly, and provides a good platform for smart mobile terminals to add more content-rich applications. The design is based on the Google Corp

5、oration a new version of the Linux platform to the source mobile phone operating system -- Android system, using Java language, Eclipse as a development tool, through the Android platform system architecture and applicat

6、io</p><p>  Key words: Android;Mobile Phone Contacts;Java</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 開發(fā)背景與意義1</p><p>

7、;  1.2 國內(nèi)外發(fā)展現(xiàn)狀2</p><p>  1.2.1 國外發(fā)展現(xiàn)狀2</p><p>  1.2.2 國內(nèi)發(fā)展現(xiàn)狀2</p><p>  1.3 論文結構2</p><p>  2 關鍵技術與開發(fā)工具3</p><p>  2.1 關鍵技術3</p><p>  2.2

8、開發(fā)工具5</p><p>  3 需求分析與系統(tǒng)總體設計7</p><p><b>  3.1項目概述7</b></p><p>  3.1.1 主要開發(fā)內(nèi)容7</p><p>  3.1.2 項目開發(fā)要求7</p><p>  3.2 需求分析7</p><p&

9、gt;  3.2.1 用戶需求7</p><p>  3.2.2 基本功能需求7</p><p>  3.2.3 特性需求8</p><p>  3.3可行性分析8</p><p>  3.3.1 技術可行性分析8</p><p>  3.3.2 經(jīng)濟、社會效益分析8</p><p>

10、;  3.3.3 開發(fā)人員與進程可行性分析9</p><p>  3.4 總體方案設計9</p><p>  3.4.1 系統(tǒng)用例圖分析9</p><p>  3.4.2 系統(tǒng)模塊關系與劃分10</p><p>  4 系統(tǒng)詳細設計12</p><p>  4.1 通訊錄需求分析12</p>

11、<p>  4.1.1 登陸頁面12</p><p>  4.1.2 本地通訊錄頁面13</p><p>  4.1.3 個人通訊信息注冊頁面13</p><p>  4.1.4 查看詳細通訊信息頁面14</p><p>  4.2 數(shù)據(jù)庫設計15</p><p>  4.2.1 客戶端數(shù)據(jù)庫設計

12、15</p><p>  4.2.2 服務器端數(shù)據(jù)庫設計19</p><p><b>  5 系統(tǒng)實現(xiàn)20</b></p><p>  5.1 客戶端部分功能模塊實現(xiàn)與截圖展示20</p><p>  5.2服務器部分模塊功能及其代碼25</p><p><b>  總 結28

13、</b></p><p><b>  參考文獻29</b></p><p><b>  致 謝30</b></p><p><b>  1 緒論</b></p><p>  1.1 開發(fā)背景與意義</p><p>  經(jīng)過多年的發(fā)展,第

14、三代數(shù)字通信( 3G)技術獲得了廣泛的接受,它為移動終端用戶帶來了更快的數(shù)據(jù)傳輸速率。隨著3G網(wǎng)絡的使用,移動終端不再僅是通訊網(wǎng)絡的終端,還將成為互聯(lián)網(wǎng)的終端。因此,移動終端的應用軟件和需要的服務將會有很大的發(fā)展空間。 Google與包括中國移動、摩托羅拉在內(nèi)的三十多家技術和無線應用的領軍企業(yè)組成的開發(fā)聯(lián)盟為此于2007年11月推出了一個專為移動設備設計的軟件平臺—Android[1]。</p><p>  An

15、droid是一套真正意義上的開放性移動設備綜合平臺,它包括操作系統(tǒng)、中間件和一些關鍵的平臺應用。Android的Java程序運行環(huán)境包含一組Java核心函數(shù)庫及Dalvik虛擬機,它們有效地優(yōu)化了Java程序的運行過程[2]。Android系統(tǒng)平臺基于優(yōu)化了的Linux內(nèi)核,它提供諸如內(nèi)存管理、進程管理、設備驅(qū)動等服務,同時也是手機軟硬件的連接層。</p><p>  Android最大特點在于它是一個開放的體系

16、架構,具有非常好的開發(fā)和調(diào)試環(huán)境,而且還支持各種可擴展的用戶體驗,Android里面具有非常豐富的圖形系統(tǒng),對多媒體的支持功能和非常強大的瀏覽器[3]。</p><p>  Android平臺的開放性等特點既能促進技術(包括平臺自身)的創(chuàng)新,又有助于降低開發(fā)成本,還可以使運營商能非常方便地制定特色化的產(chǎn)品,因此,它具有很大的市場發(fā)展?jié)摿Α?lt;/p><p>  隨著3G網(wǎng)絡的使用,移動終端不

17、再僅是通訊網(wǎng)絡的終端,還將成為互聯(lián)網(wǎng)的終端。因此,移動終端的應用軟件和需要的服務將會有很大的發(fā)展空間。在Google和Android手機聯(lián)盟的共同推動下,Android在眾多手機操作系統(tǒng)中脫穎而出,受到廣大消費者的歡迎[7]。</p><p>  手機通訊錄作為手機的基本功能之一,每天我們都在頻繁地使用著。根據(jù)手機功能使用調(diào)查顯示,有八成以上的消費者使用手機通訊錄功能。</p><p> 

18、 近兩年隨著云計算的興起一些與云計算相關的技術得到了廣泛的應用其中之一就是-云存儲,云存儲就是指通過集群應用、網(wǎng)格技術或者分布式文件系統(tǒng)等功能,將網(wǎng)絡中大量各種不同類型的存儲設備通過應用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務訪問功能的一個系統(tǒng)。</p><p>  目前基于android的手機通訊錄一般都是單機版的,也就是說沒有用到云存儲技術將通訊信息保存到服務器端,而是存儲在手機自帶的存儲空間里面,這

19、樣的話通訊信息就有一定的局限性了,比如說如果一個人的通訊信息改變了這個時候以前存儲的關于他的通訊信息就沒有使用價值了,也就無法聯(lián)系到該聯(lián)系人,這樣對于通訊錄用戶來說造成了很大的不便,所以迫切需要一個能夠基于云存儲技術的手機通訊錄程序,通過手機客戶端將客戶的通訊信息提交到服務器端,通過服務器分類進行存儲,這樣以后用戶只改變通訊信息就可以提交到服務器,這樣別人可以同樣使用該軟件連接服務器,查詢自己需要的通訊信息,然后下載到本地通訊錄,然后進

20、行聯(lián)系。</p><p>  1.2 國內(nèi)外發(fā)展現(xiàn)狀</p><p>  1.2.1 國外發(fā)展現(xiàn)狀</p><p>  Android系統(tǒng)自推出以來,就以明顯的優(yōu)勢逐漸擴大自大的市場份額,尤其在國外,其呼聲日高,可謂是如日中天,正處于蓬勃發(fā)展的開拓階段。據(jù)美國某市場調(diào)研機構2012年發(fā)布的一份最新報告顯示。2012年一季度在美國,基于Android系統(tǒng)的智能手機的銷

21、售量已占據(jù)全美手機銷售量的28%份額,而大名頂頂?shù)腎Phone手機其市場份額緊追其后,占到21%的市場份額,已經(jīng)確定了Android系統(tǒng)的市場占有比。據(jù)業(yè)內(nèi)人士分析,隨著Android系統(tǒng)相應軟件的不斷開發(fā)應用,選擇Android系統(tǒng)手機或者無線終端設備的人會越來越多,其市場霸主的地位在更新更好的系統(tǒng)出現(xiàn)之前是不可動搖地。</p><p>  1.2.2 國內(nèi)發(fā)展現(xiàn)狀</p><p> 

22、 中國是世界上最大的手機銷費國。由于3G業(yè)務的不斷推廣,對整個手機業(yè)起大了巨大的促進作用,當前國內(nèi)手機市場正在快速向智能手機推進,而Android系統(tǒng)無疑是最大的市場需求。各大中小型手機制造商近兩年都在引入Android工程師,開發(fā)基于Android系統(tǒng)的智能手機。</p><p>  未來基于Android系統(tǒng)的應用軟件將進入飛速發(fā)展的全新階段。Android系統(tǒng)的應用絕不僅局限于手機產(chǎn)業(yè),幾年來其迅速擴張到相

23、關領域,例如平板電腦、車載系統(tǒng)、電視STB、智能電器、智能會議系統(tǒng)等。目前,各IT廠商都在努力的研發(fā)前沿應用軟件,以期在Android系統(tǒng)發(fā)展這一群雄逐鹿的關鍵階段,占領更多的市場份額。</p><p><b>  1.3 論文結構</b></p><p>  本設計論文共分為五個章節(jié),以下為各個章節(jié)及其內(nèi)容概述:</p><p>  第一章緒

24、論。該章主要是對android開發(fā)的背景、意義以及國內(nèi)外的現(xiàn)狀進行分析</p><p>  第二章開發(fā)工具與關鍵技術.該章主要是簡單的介紹android應用的開發(fā)工具以及在開發(fā)的過程中所要使用到得關鍵技術</p><p>  第三章需求分析與系統(tǒng)總體設計。該章主要是對android同學錄的開發(fā)需求進行分析,并對系統(tǒng)開發(fā)的總體結構進行初步分析 </p><p>  第

25、四章系統(tǒng)詳細設計。該章主要是介紹設計主要頁面的實現(xiàn)流程 </p><p>  第五章系統(tǒng)實現(xiàn)。該章主要是介紹設計主要頁面的截圖與其具體實現(xiàn)代碼 </p><p>  2 關鍵技術與開發(fā)工具</p><p><b>  2.1 關鍵技術</b></p><p><b>  (1) Json</b>&

26、lt;/p><p>  JSON全稱為JavaScript Object Notation是一種輕量級的數(shù)據(jù)交換格式,主要用于傳送數(shù)據(jù)。JSON 可以將 JavaScript 對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在函數(shù)之間輕松地傳遞這個字符串,或者在異步應用程序中將字符串從 Web 客戶機傳遞給服務器端程序。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#,

27、Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成。</p><p>  使用json進行數(shù)據(jù)的解析有以下幾點有點1、方便前臺數(shù)據(jù)操作 2、,數(shù)據(jù)體積小,傳輸快 3、客戶端操縱XML的時候需要創(chuàng)建ActiveX對象,JSON則完全就是一個JS對象,不需要創(chuàng)建DOM。</p><p>  本設

28、計在客戶端將注冊的通訊信息提交給服務器的和從服務器端下載其他人的通訊信息的時候用到了json進行數(shù)據(jù)的解析。</p><p>  (2 )SQLite</p><p>  SQLite,是一款輕量級的關系型數(shù)據(jù)庫。由于它占用的資源非常少,所以在很多嵌入式設備都是用SQLite來存儲數(shù)據(jù)。并且它目前支持Windows/Linux/Unix等等主流的操作系統(tǒng),兼容性很好。開發(fā)語言如C#、Jav

29、a、PHP等來通過ODBC接口操作SQLite,十分方便。</p><p>  Android作為目前主流的移動操作系統(tǒng),完全符合SQLite占用資源少的優(yōu)勢,故在Android平臺上,集成了一個嵌入式關系型數(shù)據(jù)庫—SQLite。在開發(fā) Android 應用程序時需要在 Android 上存儲數(shù)據(jù),使用SQLite 數(shù)據(jù)庫是一種非常好的選擇。</p><p>  本設計在實現(xiàn)本地通訊錄信息

30、的保存的時候用到了SQLite技術,將從服務器下載的通訊錄信息存儲起來。</p><p>  (3) SharePreference</p><p>  所有的應用程序都必然涉及數(shù)據(jù)的輸入和輸出,android應用也不例外,應用程序的參數(shù)設置、程序的運行狀態(tài)數(shù)據(jù)這些都需要保存到外部存儲器上,這樣系統(tǒng)關機之后數(shù)據(jù)才不會丟失,有些時候應用程序有少量的數(shù)據(jù)需要保存,而且這些數(shù)據(jù)的格式很簡單,都是

31、字符串、標量類型的值等,此時用SQLite就顯得有點浪費,為此android 提供了SharePreference來進行簡單數(shù)據(jù)的保存。</p><p>  本設計在用戶首次使用安裝使用android客戶端的時候需要注冊用戶名和密碼,而這些數(shù)據(jù)就使用SharePreference進行保存。</p><p>  (4) Servlet</p><p>  Servle

32、t是一種服務器端的Java應用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔當客戶請求(Web瀏覽器或其他HTTP客戶程序)與服務器響應(HTTP服務器上的數(shù)據(jù)庫或應用程序)的中間層。 Servlet是位于Web 服務器內(nèi)部的服務器端的Java應用程序,與傳統(tǒng)的從命令行啟動的Java應用程序不同,Servlet由Web服務器進行加載,該Web服務器必須包含支持Servlet的Java虛擬機。</p>&

33、lt;p>  Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。這個過程為:</p><p>  客戶端發(fā)送請求至服務器端。</p><p>  服務器將請求信息發(fā)送至Servlet。</p><p>  Servlet生成響應內(nèi)容并將其傳給服務器。響應內(nèi)容動態(tài)生成,通常取決于客戶端的請求。</p><p>  服

34、務器將響應返回給客戶端。</p><p>  本設計的服務端接收客戶端提交的個人通訊信息的時候用servlet來接收數(shù)據(jù),然后通過jdbc將數(shù)據(jù)存儲到服務器的數(shù)據(jù)庫當中去。</p><p><b>  (5) MVC</b></p><p>  MVC全名是Model View Controller,是模型(model)-視圖(view)-控制

35、器(controller)的縮寫,其目的實現(xiàn)Web系統(tǒng)的職能分工。其中Model層實現(xiàn)系統(tǒng)中的業(yè)務邏輯,通??梢杂肑avaBean或EJB來實現(xiàn); View層用于與用戶的交互,通常用JSP來實現(xiàn); Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求并選擇恰當?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。</p><p>  利用MVC開發(fā)的好處:<

36、;/p><p>  視圖層和業(yè)務層分離。這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個應用的業(yè)務流程或者業(yè)務規(guī)則的改變只需要改動MVC的模型層即可。因為模型與控制器和視圖相分離,所以很容易改變應用程序的數(shù)據(jù)層和業(yè)務規(guī)則。</p><p>  高重用性和可適用性。隨著技術的不斷進步,現(xiàn)在需要用越來越多的方式來訪問應用程序。MVC模式允許你使用各種不同樣式的視圖來訪問同一個服務

37、器端的代碼。它包括任何WEB(HTTP)瀏覽器或者無線瀏覽器(wap),比如,用戶可以通過電腦也可通過手機來訂購某樣產(chǎn)品,雖然訂購的方式不一樣,但處理訂購產(chǎn)品的方式是一樣的。由于模型返回的數(shù)據(jù)沒有進行格式化,所以同樣的構件能被不同的界面使用。例如,很多數(shù)據(jù)可能用HTML來表示,但是也有可能用WAP來表示,而這些表示所需要的命令是改變視圖層的實現(xiàn)方式,而控制層和模型層無需做任何改變。</p><p>  較低的生命

38、周期成本。MVC使降低開發(fā)和維護用戶接口的技術含量成為可能。</p><p>  快速的部署。使用MVC模式使開發(fā)時間得到相當大的縮減,它使程序員(Java開發(fā)人員)集中精力于業(yè)務邏輯,界面程序員(HTML和JSP開發(fā)人員)集中精力于表現(xiàn)形式上。</p><p>  可維護性。分離視圖層和業(yè)務邏輯層也使得WEB應用更易于維護和修改</p><p>  (6) Jav

39、aBean</p><p>  JavaBean是一種可重復使用的且跨平臺的軟件組件,在MVC模式中廣泛的使用,其與jsp搭配使用使得HTML與java程序分離,這樣便于維護代碼、可以降低對開發(fā)jsp網(wǎng)頁的人員的java編程能力的要求、jsp側重于生成動態(tài)網(wǎng)頁,事務處理由JavaBean來完成,這樣可以充分利用JavaBean組件的可重用性特點提高網(wǎng)站開發(fā)的效率。</p><p>  本設

40、計在jsp頁面代碼的編寫當中就廣泛使用到了JavaBean技術,使得動態(tài)網(wǎng)頁開發(fā)效率提高了很多,代碼清晰易于后期的維護。</p><p><b>  2.2 開發(fā)工具</b></p><p><b>  (1) JDK</b></p><p>  JDK全稱為Java Development Kit是Sun Microsy

41、stems針對Java開發(fā)員的產(chǎn)品。Java程序員在開發(fā)Java產(chǎn)品的時候運行java程序需要java虛擬機的支持,在程序的編譯過程中需要JDK進行編譯生成.class文件,tomcat、JavaEE、Myelipse也都是基于java語言的需要jdk的支持,在程序開發(fā)前必須的先配置和安裝JDK。JDK的安裝步驟為:首先從sun公司的官方網(wǎng)站上面下載JDK安裝包下載的地址為http://java.sun.com/javase/downl

42、oads/index.jsp 下載完成后就要安裝。接著進行JDK環(huán)境變量的配置。</p><p>  (2) JavaEE</p><p>  JavaEE的全稱為Java Platform Enterprise Edition是SUN公司為企業(yè)級應用推出的標準平臺,本設計采用JavaEE作為客戶端的開發(fā)工具主要是基于其高效的開發(fā)效率、支持異構環(huán)境、可伸縮性、穩(wěn)定的可用性等特點。</

43、p><p>  JavaEE的安裝步驟為:從sun官網(wǎng)上面下載JavaEE安裝包下載地址為www.sun.com 下載完成后直接安裝便可。</p><p>  (3) Android-SDK </p><p>  Android—SDK的全稱為Android Software Development Kit其提供了在Windows/Linux/Mac平臺上開發(fā)Andro

44、id應用的開發(fā)組件,Android支持所有的平臺,其包含了在Android平臺上開發(fā)移動應用的各種工具集。</p><p>  工具集不僅包括了Android模擬器和用于Eclipse的Android開發(fā)工具插件(ADT),而且包括了各種用來調(diào)試、打包和在模擬器上安裝應用的工具。</p><p>  Android SDK主要是以Java語言為基礎,用戶可以使用Java語言來開發(fā)Andro

45、id平臺上的軟件應用。通過SDK提供的一些工具將其打包成Android平臺使用的apk文件,然后用SDK中的模擬器(Emulator)來模擬和測試軟件在Android平臺上運行情況和效果。</p><p>  Android SDK的下載及安裝步驟為:首先從網(wǎng)上下載其安裝包,下載地址為http://developer.android.com/sdk/index.html,下載完成后直接解壓縮到指定的目錄下便可使用

46、。</p><p>  (4) Tomcat</p><p>  Tomcat是由Apache軟件基金會下屬的Jakarta項目開發(fā)的一個Servlet容器,按照Sun Microsystems提供的技術規(guī)范,實現(xiàn)了對Servlet和JavaServer Page(JSP)的支持,并提供了作為Web服務器的一些特有功能,如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。由于Tom

47、cat本身也內(nèi)含了一個HTTP服務器,它也可以被視作一個單獨的Web服務器。但是,不能將 Tomcat和Apache Web 服務器混淆,Apache Web Server 是一個用 C 語言實現(xiàn)的 HTTP web server;這兩個 HTTP web server 不是捆綁在一起的。Apache Tomcat 包含了一個配置管理工具,也可以通過編輯 XML 格式的配置文件來進行配置。</p><p>  本

48、設計采用的是apache-tomcat-6.0.18用來進行服務器端web的開發(fā)和發(fā)布。</p><p>  Tomcat的安裝步驟為:首先從Apache官網(wǎng)上面下載tomcat安裝包然后將其解壓縮到指定的目錄下。其次對其conf文件夾內(nèi)的web.xml和server.xml文件進行配置。(5) Myelipse6.5</p><p>  MyEclipse的全稱MyEclipse Ent

49、erprise Workbench,簡稱MyEclipse是對EclipseIDE的擴展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應用程序服務器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML、Struts、JSP、CSS、Javascript、Spring、SQL、Hibernate。</p><p>  MyEclips

50、e 是一個十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯MyEclipse目前支持Java、Servlet、AJAX、JSP、JSF、Struts、Spring、Hibernate、EJB3、JDBC數(shù)據(jù)庫鏈接工具等多項功能??梢哉fMyEclipse幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。</p>&l

51、t;p>  本設計采用的是MyEclipse6.5作為服務器端的開發(fā)工具主要是基于其集成的插件多在開發(fā)的過程中能夠明顯的提高開發(fā)效率。</p><p>  MyEclipse6.5安裝步驟為:首先從網(wǎng)上下載MyEclipse的安裝包地址為http://www.nc21.cn/resource/soft.asp?nc=12-0-36-0-41.html。其次,下載完成后直接安裝到指定的文件夾便可。</p

52、><p><b>  (6) Mysql</b></p><p>  MySQL是目前最為流行的開放源代碼的數(shù)據(jù)庫,是完全網(wǎng)絡化的跨平臺的關系型數(shù)據(jù)庫系統(tǒng),它是由瑞典的MySQL AB公司開發(fā)、并布并支持的,于1995年建立。它的象征符號是一只名為Sakila的海豚,代表著MySQL數(shù)據(jù)庫和社團的速度、能力、精神和優(yōu)秀品質(zhì)。</p><p>  目

53、前MySQL被廣泛地應用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,很多公司向開放源代碼的數(shù)據(jù)庫系統(tǒng)遷移,從而降底花費成本。</p><p>  MySQL可以稱得上是目前運行速度最快的SQL語言數(shù)據(jù)庫。除了具有許多其它數(shù)據(jù)庫所不具備的功能和選擇外,MySQL數(shù)據(jù)庫是一種完全免費的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫,用于個人或商業(yè)用途,而不必支付任何費用。&l

54、t;/p><p>  MySQL具有功能強大、支持跨平臺、運行速度快、支持面向?qū)ο?、安全性高、成本低、支持各種開發(fā)語言、數(shù)據(jù)存儲量大、支持強大的內(nèi)置函數(shù)等特點。</p><p>  3 需求分析與系統(tǒng)總體設計</p><p><b>  3.1項目概述</b></p><p>  3.1.1 主要開發(fā)內(nèi)容</p>

55、<p>  本系統(tǒng)開發(fā)大體上分為客戶端開發(fā)和服務器端的開發(fā)兩部分。</p><p><b>  1、客戶端開發(fā)</b></p><p>  主要是面向通訊錄使用者的,該應用分為系統(tǒng)歡迎頁面、用戶登陸頁面、用戶進入系統(tǒng)所需用戶名和密碼的注冊頁面、本地通訊錄頁面、用戶個人通訊信息注冊提交頁面,其中本地通訊錄頁面包含兩部分一部分是個人通訊信息的注冊頁面鏈接和返

56、回鏈接,個人通訊信息頁面包含查看本地通訊錄鏈接和返回鏈接,用戶可以使用客戶端來實現(xiàn)基本的通訊錄功能,包括查看本地通訊錄,接發(fā)送短信、打電話、刪除聯(lián)系人等。</p><p><b>  2、服務器端開發(fā)</b></p><p>  服務器端是使用Myeclipse+Mysql+Tomcat進行開發(fā)設計的,主要用于接收客戶端提交的注冊信息然后存儲到數(shù)據(jù)庫當中、從數(shù)據(jù)庫中查

57、詢與用戶注冊信息相關的其他人的通訊信息返回給客戶端,客戶端將其下載到自己本地的通訊錄當中去,實現(xiàn)對用戶存儲在云端的數(shù)據(jù)進行維護、管理,對數(shù)據(jù)庫進行備份。</p><p>  整個系統(tǒng)由本人一人完成,包括系統(tǒng)的需求分析、總體設計、各個模塊的設計、數(shù)據(jù)庫的設計以及系統(tǒng)的整合和運行測試等等。</p><p>  3.1.2 項目開發(fā)要求</p><p>  1、項目開發(fā)要

58、規(guī)范統(tǒng)一,模塊劃分、代碼編寫等均按照命名規(guī)范文檔。</p><p>  2、程序執(zhí)行速度快,數(shù)據(jù)安全。系統(tǒng)要具有良好的可擴展性。</p><p>  3、用戶界面簡單明了,操作簡單實用。</p><p>  4、具有一定的健壯性,能夠處理大部分異常。</p><p>  3.2 需求分析 </p><p>  3

59、.2.1 用戶需求</p><p>  1、對于客戶端程序的需求:客戶端的程序界面一定要簡潔友好,符合人們常用的習慣,對于本地通訊信息可以實現(xiàn)查看和刪除聯(lián)系人,并根據(jù)聯(lián)系人的電話號碼撥打電話、發(fā)短信、發(fā)郵件,可以將自己的通訊信息提交給服務器后查看服務器端其他人的通訊信息,將其他人的通訊信息下載到本地通訊錄。 </p><p>  2、對服務器端的需求:快速響應客戶端的請求,將用戶

60、注冊的通訊信息很好的進行歸類存儲。 </p><p>  3.2.2 基本功能需求</p><p><b>  對于用戶</b></p><p>  登陸通訊錄的時候使用密碼保護。</p><p>  (2)用戶個人通訊信息注冊頁面。</p><p>  (3)本地通訊錄模塊,用于保存和管

61、理從服務器上下載的通訊信息。</p><p> ?。?)查看服務器端其他人的通訊信息頁面并擁有將信息下載到本地通訊錄的功能。</p><p> ?。?)在本地通訊錄中可以查看刪除通訊信息,并通過電話號碼撥打電話和發(fā)送短信。</p><p><b>  2、對于服務器端</b></p><p>  (1)創(chuàng)建合理的數(shù)據(jù)庫用

62、于分類存儲用戶的注冊信息。</p><p> ?。?)可以對用戶通訊信息進行管理,包括查看、刪除、更改。</p><p>  3.2.3 特性需求</p><p>  一個好的手機通訊錄應該具有以下特性:</p><p>  1、易操作和功能簡單明確不令人誤解。一個良好的手機通訊錄客戶端應該功能明確,沒有二義性,用戶可以很明了的通過界面明白各

63、項功能的實現(xiàn)方法,而不是看到界面不知道各按鈕的具體用途,即操作簡單,界面友好。</p><p>  2、軟件功能流暢,不拖沓。軟件登陸,連接網(wǎng)絡不能讓用戶等待時間過長,引起用戶的煩躁。軟件在運行不能發(fā)生崩潰,卡頓等問題,整個界面操作起來很流暢。</p><p>  3、客戶端的應用程序開發(fā)應該充分體現(xiàn)模塊化,就是說一些Activity中的代碼重復的可以設計成一個模塊,用到此模塊的直接調(diào)取就

64、可以,這樣就可以提高程序開發(fā)的效率,同時也使得應用程序占用的空間小,程序在客戶手機上運行速度快。</p><p>  4、系統(tǒng)應該容易維護以及更新。系統(tǒng)各個模塊設計應該很明確,核心代碼處應有必要的注釋,使得今后的軟件維護,軟件更新等操作應該能夠順利的進行。</p><p>  3.3可行性分析 </p><p>  3.3.1 技術可行性分析</p>

65、<p>  安卓系統(tǒng)是基于Java編寫的,因此手機客戶端采用Eclipse配上AndroidSDK,完全可以實現(xiàn)系統(tǒng)功能,開發(fā)人員都具有一定Java功底,加之安卓平臺開放性,網(wǎng)上很輕松的可以查看到各種實現(xiàn)代碼,手機客戶端在技術上是可行的。服務器端采用用JavaScript編寫,在MyEclipse6.5環(huán)境下實現(xiàn),其運用面向?qū)ο蟮木幊趟枷脒M行Web開發(fā),并且是以編譯方式執(zhí)行,具有較高的開發(fā)效率和運行性能。后臺數(shù)據(jù)庫采用Mys

66、ql其輕巧而且功能全面,避免了SqlServer2000的操作繁瑣、軟件大的問題,并且Mysql是免費的因此在技術上是可行的,服務器端采用Apache的tomcat進行網(wǎng)站的發(fā)布并且它也是免費的所以在技術上同樣是可行的。</p><p>  3.3.2 經(jīng)濟、社會效益分析</p><p>  從成本方面看,本系統(tǒng)的實現(xiàn),計算機和網(wǎng)絡硬件已經(jīng)擁有,由于安卓是個開放的平臺,Eclipse與An

67、droidSDK都是免費提供的,網(wǎng)絡客戶端所用軟件也都已經(jīng)配備,因此成本很低;從效益方面看,本客戶端主要是為了畢業(yè)而設計的暫時還不能成為盈利的作品,不過經(jīng)過完善后可以考慮作為產(chǎn)品在社會上推廣,加上安卓系統(tǒng)的廣泛應用,相信產(chǎn)品的盈利空間是很大的。</p><p>  3.3.3 開發(fā)人員與進程可行性分析</p><p>  開發(fā)人員都有一定的Java開發(fā)功底,并且學習能力較強以及指導老師的悉

68、心教導完全可以勝任此次開發(fā)。由于此系統(tǒng)開發(fā)并不是以盈利為目的,開發(fā)周期可以相對較長,因此開發(fā)進程方面是可行的。</p><p>  3.4 總體方案設計</p><p>  3.4.1 系統(tǒng)用例圖分析</p><p>  1、用戶進入通訊錄時候身份驗證,頁面主要包括用戶名和密碼的輸入,如圖3-1所示:</p><p>  圖3-1 登陸主頁面

69、用例圖</p><p>  2、用戶本地通訊錄的查看信息功能,它包括三項內(nèi)容分別為:通訊詳細信息由姓名、qq號、電話號碼、Email、地址組成,打電話和發(fā)短信功能。如圖3-2所示:</p><p>  圖3-2 本地通訊錄頁面用例圖</p><p>  3、用戶個人通訊信息的注冊,其主要由學校名稱、院系名稱、專業(yè)名稱、班級、學號、姓名、qq號、電話、email、地址

70、等內(nèi)容組成,如下圖3-3所示:</p><p>  圖3-3 通訊信息注冊頁面用例圖</p><p>  3.4.2 系統(tǒng)模塊關系與劃分</p><p>  1、系統(tǒng)總體劃分分為兩大部分,即客戶端和服務器端,如圖3-4所示:</p><p>  Android Tomcat</p>

71、;<p>  圖3-4 系統(tǒng)整體模塊劃分</p><p>  客戶端部分又分為了用于登陸、本地通訊信息查看、注冊個人通訊信息,而本地通訊信息查看可以實現(xiàn)查看詳細通訊信息、刪除聯(lián)系人,注冊個人通訊信息分為注冊、顯示其他人通訊信息,查看相信通訊信息又包含信息的查看、打電話、發(fā)短信、email等。如圖3-5所示:</p><p>  圖3-5 客戶端模塊結構圖</p>

72、<p>  3、服務器端又分為Servlet、dbconnection、domain、jsontools等其結構如圖3-6所示:</p><p>  圖3-6 服務器端的模塊結構</p><p><b>  4 系統(tǒng)詳細設計</b></p><p>  本章主要是對系統(tǒng)的各個模塊的功能進行詳細的分析,使讀者更清晰的了解各個模塊的實現(xiàn)

73、細節(jié),在分析的基礎上進行流程圖的設計,通過此過程的設計,達到對目標系統(tǒng)的精確描述,從而在編寫代碼階段可以把這個描述直接翻譯成設計語言書寫的工具。</p><p>  4.1 通訊錄需求分析</p><p>  4.1.1 登陸頁面</p><p>  首先從布局上來說其主要由TextView、EditText、Button組成,TextView用來標示文本框含義,E

74、ditText用來顯示獲取輸入內(nèi)容,Button用來相應用戶的點擊事件,該模塊的流程圖如4-1所示:</p><p>  圖4-1 登陸頁面的實現(xiàn)流程</p><p>  4.1.2 本地通訊錄頁面</p><p>  首先從布局上該頁面主要由 ListView組成其用來顯示本地通訊信息,其頁面實現(xiàn)流程如圖4-2所示:</p><p>  圖

75、4-2 本地通訊錄頁面的實現(xiàn)流程</p><p>  4.1.3 個人通訊信息注冊頁面</p><p>  首先從布局上來看其主要是由TextView、EditText、Spinner、Button組成,其中TextViev起到標簽的作用,EditText和Spinner用與用戶信息的選擇、輸入,Button用于相應用于的單擊事件,該模塊的工作流程如圖4-3所示:</p>&

76、lt;p>  圖4-3 通訊信息注冊頁面的實現(xiàn)流程</p><p>  4.1.4 查看詳細通訊信息頁面</p><p>  該頁面主要是由TextView、Button組成,其中textview用來顯示通訊信息,Button用來實現(xiàn)打電話、發(fā)短信等功能,其實現(xiàn)流程圖如4-4所示:</p><p>  圖4-4 通訊信息注冊頁面的實現(xiàn)流程</p>

77、<p>  4.2 數(shù)據(jù)庫設計 </p><p>  4.2.1 客戶端數(shù)據(jù)庫設計</p><p>  客戶端的數(shù)據(jù)存儲分為兩部分簡單的數(shù)據(jù)存儲和復雜的數(shù)據(jù)存儲,其中簡單的數(shù)據(jù)存儲利用android sharepreference,復雜數(shù)據(jù)采用android SQLite進行存儲。</p><p>  1、客戶端兩部分數(shù)據(jù)用到了android share

78、preference分別為用戶登陸時的用戶名和密碼、用戶注冊的個人通訊信息等。</p><p>  其中登陸時候所用sharepreference的結構與內(nèi)容如下表所示: </p><p>  注冊個人通訊信息的sharepreference的結構和內(nèi)容如下表所示:</p><p>  2、客戶端從服務器上下載的其他人的通訊信息存儲到本地通訊錄用到了androi

79、d SQLite,其結構和內(nèi)容如下表所示:</p><p>  4.2.2 服務器端數(shù)據(jù)庫設計</p><p>  該圖顯示的是通訊信息的內(nèi)容,由于不同database與table中的內(nèi)容相同所以此處只</p><p>  用一個表示。 如表4-1所示:</p><p>  表4-1 服務器端用戶通訊信息表</p><p&

80、gt;  該表用來存儲客戶端用戶注冊的個人通訊信息。</p><p><b>  5 系統(tǒng)實現(xiàn)</b></p><p>  5.1 客戶端部分功能模塊實現(xiàn)與截圖展示 </p><p><b>  1、登陸頁面</b></p><p>  該頁面用于用戶輸入用戶名和密碼,點擊登陸進入到本地通訊錄頁面。

81、如果是第一次安裝使用該軟件則就會首先進入注冊頁面,注冊完成后才可以跳轉(zhuǎn)到登陸頁面,其頁面如圖5-1所示:</p><p><b>  圖5-1 登陸頁面</b></p><p>  其具體實現(xiàn)代碼如下表所示:</p><p><b>  2、本地通訊錄頁面</b></p><p>  該頁面用來顯示

82、從服務器上面下載的其他人的通訊信息,點擊該頁面的menu包含兩個選項分別為注冊個人通訊信息、返回,當長按listview的item時候會有兩個選項查看詳細通訊信息、刪除聯(lián)系人,其頁面如圖5-3所示:</p><p>  圖5-2 本地通訊錄頁面</p><p>  其具體實現(xiàn)代碼如下表所示:</p><p><b>  3、查看聯(lián)系人頁面</b>

83、;</p><p>  該頁面用來查看聯(lián)系人的詳細信息,并且可以通過聯(lián)系人的電話號碼來打電話發(fā)短信,如圖5-5所示:</p><p>  圖5-3 查看聯(lián)系人詳細信息頁面</p><p>  其具體實現(xiàn)代碼如下表所示:</p><p><b>  查看服務器通訊信息</b></p><p>  該

84、頁面用于在注冊個人通訊信息后顯示服務器端其他人的通訊信息并且可以下載到本地通訊錄,其頁面與代碼如圖5-7所示:</p><p>  圖5-4 查看與下載服務器通訊信息頁面</p><p>  其具體實現(xiàn)代碼如下表所示:</p><p>  圖5-8 服務器通訊信息頁面代碼</p><p>  5.2服務器部分模塊功能及其代碼</p>

85、;<p>  1、QueryAction</p><p>  用戶使用客戶端注冊個人通訊信息后需要從服務器端查詢與其屬于同一學校、學院、專業(yè)、班級的其他人的通訊信息,而此Action控制類類就是為了處理此業(yè)務邏輯,該類接收用戶提交的學校、學院、專業(yè)及班級信息,通過if語句進行判斷調(diào)取連接數(shù)據(jù)庫類查詢信息然后返回給客戶端,其具體實現(xiàn)代碼如下表所示:</p><p>  Json

86、Tools.java</p><p>  客戶端與服務器的數(shù)據(jù)的交互需要使用json進行數(shù)據(jù)解析,在客戶端提交數(shù)據(jù)的時候通過客戶端的json工具類將數(shù)據(jù)封裝成json類型字符串然后傳輸給服務器,服務器接收到json字符串后通過服務器端的json工具類將其還原為提交前的數(shù)據(jù)然后進行處理,其具體實現(xiàn)代碼如下表所示:</p><p><b>  總 結</b></p&

87、gt;<p>  在做畢設的時間里,收獲很大,在做畢設的整個過程中,有彷徨過、動搖過、悲觀過,但是最終還是堅持下來了,因為我知道所有的困難只有勇敢面對,直視問題,才能夠真正的解決問題,因為悲觀和空想是于事無補的。最后在同學和指導老師的幫助下,在自己的不懈努力下,所有問題都迎刃而解。總的來看,畢設給我啟示如下:</p><p>  1、任何問題都不會是問題,只要你有足夠的意志力和耐心。其實在剛剛開始動

88、手的時候就遇見問題了,因為我沒有任何Android開發(fā)經(jīng)驗,所以有點無從下手的感覺。但是我后來決定安心下來,先好好的研究學習Android,于是,在自己練習了幾十個小程序之后,開始對Android有了質(zhì)的認識,然后開始了慢條斯理的畢設之路。事實證明,只有功夫深,鐵棒磨成針。</p><p>  2、做事要三思而后行。做任何事之前,一定要做好規(guī)劃,切記盲目,特別是開發(fā)軟件。因為如果你不嚴格按照軟件開發(fā)各個生命周期的

89、文檔開發(fā),可能會徒勞無功,事倍功半。像我在做畢設的時候,由于沒有做好全面的規(guī)劃,數(shù)據(jù)庫的字段設計不好,而導致后來開發(fā)過程中屢屢受阻,不得不重新設計數(shù)據(jù)庫,浪費了大量的時間和精力。</p><p>  3、要善于思考和請教。在這個世界上,一個人能做的事情永遠是那么有限,所以要善于思考問題然后請教他人。像我剛開始,總是想自己一股腦的做,遇見問題自己只會盲目的去查找,費時費力。而來開始請教指導老師和同學,發(fā)現(xiàn)很多東西其

90、實很簡單,只是自己沒想到,或者很多我不知道,他們卻很清楚,給予了我很大的幫助,真的是事半功倍。</p><p><b>  參考文獻</b></p><p>  [1]靳巖, 姚尚朗. Google Android 開發(fā)入門與實戰(zhàn)[M]. 北京: 人民郵電出版社, 2009: 1-12</p><p>  [2]景保玉. 2010中國移動應用開

91、發(fā)現(xiàn)狀與趨勢大調(diào)查[M]. 北京: 人民郵電出版社, 2011: 2-19</p><p>  [3]Wei-Meng Lee.Beginning AndroidTm 4 Applicatiotion Development[M].John Wiley &Sons,Inc,2007:3-16</p><p>  [4]W.FRANK ABLESON,ROBI SEN,CHRIS K

92、ING.Android In Action[M].Manning Publications Co.180 Broad St.Suite 1323 Stanmford,CT 06901 2005:8-15</p><p>  [5]Herbert Schildt.Java 參考大全[M]. 北京: 清華大學出版社, 2008: 9-11</p><p>  [6]鮑格斯坦(Bergsten,

93、H.) 著, 林琪, 朱濤江 譯.JSP設計(第三版)[M]. 北京: 中國電力出版社, 2004: 12-28</p><p>  [7]. 支持動態(tài)語言的Android平臺[M]. 北京: 人民郵電出版社, 2009: 5-7 </p><p>  [8]郭志宏. Android應用開發(fā)詳解[M]. 北京: 電子工業(yè)出版社, 2010: 6-21</p><p>

94、;  [9]超梁泉. Android 系統(tǒng)開發(fā)原理及開發(fā)要點詳解[M]. 北京: 電子工業(yè)出版社, 2010: 1-11</p><p>  [10]. Android/OPhone 開發(fā)完全講義[M/CD]. 北京: 水利水電出版社, 2010: 6-19</p><p>  [11]GONG Lei,ZHOU Cong.Development and

95、60;Research of Mobile Termination Application Based on Android[J]. Computer And Modernization. 2008.8 </p><p>  [12]Shane Conde.Android W

96、ireless Application Development[M]. Addison-Wesley.2010</p><p>  [13]Enck,W., Ongtang,M.,McDaniel,P. Understanding Android Security[J]. Security & Privac

97、y, IEEE.2009,7(1),P50-57 </p><p>  [14]Sandeep Kumar. Location Based Services using Android[C]. Internet Multimedia Services Architecture and&

98、#160;Applications (IMSAA), 2009 IEEE International Conference. P1-5 </p><p>  [15]劉昌平,范明鈺. Android手機的輕量級訪問控制[J].計算機應用研究,2010,7 </p><p>  [16]Enck,W.,

99、 Ongtang,M.,McDaniel,P. Understanding Android Security[J]. Security & Privacy, IEEE.2009,7(1),P50-57 </p><p>  [17] 楊豐盛.Android應用開發(fā)揭秘[M]. 北京:機械工業(yè)出版社

100、, 2010. </p><p>  [18] 余志龍,陳昱勛,鄭名杰.Android SDK開發(fā)范例大全[M]. 北京:人民郵電出版社, 2010. </p><p>  [19] 羅偉.Android平臺的即時通訊系統(tǒng)的研究與實現(xiàn)[D].碩士學位論文. 湖南師范大學,2008 </

101、p><p>  [20] 李苑.基于Android移動平臺的警務查詢系統(tǒng)[D].碩士學位論文. 南昌大學,2009</p><p><b>  致 謝</b></p><p>  從論文選題到搜集資料,從寫稿到反復修改,期間經(jīng)歷了喜悅、聒噪、痛苦和彷徨,在寫作論文的過程中心情是如此復雜。如今,伴隨著這篇畢業(yè)論文的最終成稿,復雜

102、的心情煙消云散,自己甚至還有一點成就感。</p><p>  本論文是在導師的悉心指導下完成的。導師淵博的專業(yè)知識,嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風,誨人不倦的高尚師德,嚴以律己、寬以待人的崇高風范,樸實無華、平易近人的人格魅力對我影響深遠。不僅使我樹立了遠大的學術目標、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。本論文從選題到完成,每一步都是在導師的指導下完成的,傾注了導師大量的心血。在此

溫馨提示

  • 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

提交評論