基于android的圖片閱讀器的設(shè)計與實現(xiàn)計算機(jī)畢業(yè)設(shè)計論文_第1頁
已閱讀1頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于 Android 的圖片閱讀器的設(shè)計與實現(xiàn)</p><p><b>  摘 要</b></p><p>  隨著4G 時代的到來以及公共場所WiFi越來越普及,以網(wǎng)絡(luò)通信為主流功能的移動終端設(shè)備包括智能手機(jī)已經(jīng)隨處可見,而 Android 系統(tǒng)作為最流行、開放性最強的手機(jī)操作系統(tǒng)給用戶帶來了新的應(yīng)用體驗,也給移動軟件開發(fā)者帶來了新的發(fā)展機(jī)會

2、,以 Android 為平臺的應(yīng)用程序軟件越來越多。本文即是依靠 Android有關(guān)的技術(shù)來進(jìn)行開發(fā)和研究。</p><p>  本系統(tǒng)使用 JAVA 和 Android SDK(Software Development Kit)開發(fā),其中 Android SDK 主要是以 Java 語言為基礎(chǔ),包含了在 Android 平臺上開發(fā)移動應(yīng)用的各種工具集。用戶可以使用 Java 語言來開發(fā) Android 平臺上的

3、軟件應(yīng)用。采用 Eclipse + ADT(Android Development Tools)作為開發(fā)工具,在 Android 手機(jī)模擬器和 Android 手機(jī)真機(jī)上測試運行。該圖片閱讀器的設(shè)計使用了模塊化的方法,同一模塊實現(xiàn)了高內(nèi)聚,不同模塊之間實現(xiàn)了低耦合。把整個系統(tǒng)劃分為不同的功能模塊,安裝不同的功能模塊,進(jìn)行詳細(xì)設(shè)計,然后進(jìn)行編碼開發(fā)。</p><p>  該圖像閱讀器的設(shè)計和實現(xiàn),在模擬器的實驗中,

4、取得了比較不錯的結(jié)果,各方面性能表現(xiàn)良好。較好的實現(xiàn)了對SD卡上的圖片進(jìn)行掃描顯示;在放縮圖片、旋轉(zhuǎn)圖片、刪除圖片以及圖片詳細(xì)信息的獲取等方面取得了不小的進(jìn)步。這些都表明本文的工作是有意義的。</p><p>  關(guān)鍵詞: 圖片閱讀器;Android手機(jī);JAVA;Eclipse+ADT</p><p>  Based on the Android the Design and Impl

5、ementation</p><p>  of the Picture Read</p><p><b>  Abstract</b></p><p>  With the advent of the era of 4 g and WiFi in public places is more and more popular, with func

6、tion of network communication for the mainstream mobile devices including smartphones have everywhere, the Android system as the most popular mobile operating system, open the strongest brought new application to the use

7、r experience, and also brought new development opportunities for mobile software developers, more and more application software based on Android platform.This article is to rely on Andr</p><p>  This system

8、uses JAVA and Android SDK (Software Development Kit) Development, including the Android SDK is mainly based on JAVA language, includes a mobile application on the Android platform Development set of tools.Users can use t

9、he Java language to develop software applications on the Android platform.Using the Eclipse ADT + (Android Development Tools) as a Development tool, the Android emulator with Android mobile phone real machine test run.Th

10、e image reader design USES the modular approach,</p><p>  Design and the implementation of the image of the reader, in a simulator experiment, has achieved fairly good results, good performance in all respec

11、ts.Better implement the scanned picture of SD card;In scale, rotating pictures, delete pictures and images detailed information retrieval has made big progress.All this suggests that the work of this paper is meaningful.

12、</p><p>  Keyword: Picture reader; Android Phone ;JAVA ;Eclipse+ADT</p><p><b>  目 錄</b></p><p><b>  摘 要i</b></p><p>  Abstractii</p>

13、<p><b>  1 緒論1</b></p><p>  1.1 課題的研究背景1</p><p>  1.2 課題的研究意義1</p><p>  1.3 課題設(shè)計目標(biāo)1</p><p>  2 關(guān)鍵技術(shù)平臺與理論介紹3</p><p>  2.1 ANDROI

14、D 平臺簡介和特點3</p><p>  2.2 Android應(yīng)用的構(gòu)成和工作機(jī)制5</p><p>  2.3 開發(fā)環(huán)境的搭建7</p><p>  2.3.1 安裝并配置JDK 67</p><p>  2.3.2 安裝Eclipse7</p><p>  2.3.3 安裝并配置Android

15、 SDK7</p><p>  2.3.4 安裝ADT7</p><p>  2.4 安卓應(yīng)用程序的結(jié)構(gòu)解析8</p><p>  2.4.1 Activities8</p><p>  2.4.2 Service10</p><p>  2.4.3 Content Provider11</

16、p><p>  3 需求分析和可行性研究12</p><p>  3.1 問題的定義12</p><p>  3.2 需求分析12</p><p>  3.2.1 需求分析的過程12</p><p>  3.2.2 需求分析的方法12</p><p>  3.2.3 本軟件研究

17、方法13</p><p>  3.3 可行性分析14</p><p>  3.3.1 經(jīng)濟(jì)可行性14</p><p>  3.3.2 技術(shù)可行性14</p><p>  3.3.3 操作可行性14</p><p>  3.3.4 法律可行性15</p><p>  4 系

18、統(tǒng)概要設(shè)計16</p><p>  4.1 系統(tǒng)的功能模塊說明16</p><p>  4.2 系統(tǒng)的功能模塊結(jié)構(gòu)圖16</p><p>  4.3 業(yè)務(wù)流分析18</p><p>  5 系統(tǒng)的詳細(xì)設(shè)計20</p><p>  5.1 系統(tǒng)主要功能界面的設(shè)計和實現(xiàn)20</p>&

19、lt;p>  5.1.1 對SD卡圖片文件的掃描.20</p><p>  5.1.2 圖片存儲目錄24</p><p>  5.1.3 圖片預(yù)覽25</p><p>  5.1.4 單張圖片顯示27</p><p>  5.2 系統(tǒng)任務(wù)界面的設(shè)計29</p><p>  5.2.1 幻燈片播

20、放29</p><p>  5.2.2 旋轉(zhuǎn)圖片30</p><p>  5.2.3 縮放處理32</p><p>  5.2.4 圖片的詳細(xì)信息34</p><p>  5.2.5 圖片的刪除操作37</p><p>  6 軟件測試39</p><p>  6.1 軟

21、件測試描述39</p><p>  6.2 系統(tǒng)功能測試40</p><p><b>  7 總結(jié)41</b></p><p><b>  參考文獻(xiàn)42</b></p><p><b>  致 謝43</b></p><p><b&

22、gt;  外文原文44</b></p><p><b>  中文翻譯54</b></p><p><b>  1 緒論</b></p><p>  智能手機(jī)應(yīng)用軟件是近年來十分活躍的技術(shù)研究領(lǐng)域,是一系列高新技術(shù)的匯集,往往指以移動互聯(lián)網(wǎng)為傳輸媒介,以運營商服務(wù)器和用戶計算機(jī)為處理終端,以手機(jī)應(yīng)用軟件為信

23、息交互窗口的旨在實現(xiàn)娛樂、休閑、交流和取得虛擬成就的具有可持續(xù)性的應(yīng)用軟件這些技術(shù)包括計算機(jī)圖形學(xué)、多媒體技術(shù)、人工智能、人機(jī)接口技術(shù)、傳感技術(shù)以及高度并行的實時計算技術(shù),還包括人的行為學(xué)研究等多項關(guān)鍵技術(shù)。除此之外特別是個人版的智能手機(jī)應(yīng)用軟件,如圖片閱讀器軟件 ,是個簡單的應(yīng)用軟件,但卻能給人以重大幫助,讓我們從繁鎖的圖片中解脫出來.而只有我們的身心得到了解脫才能更好的投入到新的工作.現(xiàn)在的人,不管是已經(jīng)工作的,還是還未進(jìn)入社會的學(xué)

24、生,都喜歡在吃飯前對美食拍照、旅游時對大自然瑰麗的風(fēng)景拍照還有隨時隨地的自拍,面對大量照片需要整理有著很大的厭倦,而這樣一款能讓我們方便整理照片的應(yīng)用軟件,其魅力還是不可估量的。</p><p>  1.1 課題的研究背景</p><p>  Google 在 2007 年 11 月正式推出,基于 Linux 的 Android 移動終端操作系統(tǒng),從那時起 Android 平臺越來越受人

25、們所關(guān)注,由于 Android 是一個真正開放開源的平臺,故而開發(fā)者都可以使用 Android 平臺開發(fā)程序,使得其平臺上應(yīng)用軟件與日劇增。除了 Android 自身內(nèi)嵌的應(yīng)用之外,也有一些其他應(yīng)用軟件,伴隨著 4G 時代的來臨,無線寬帶網(wǎng)絡(luò)覆蓋越來越廣,無線上網(wǎng)速度也越來越快,智能手機(jī)的主流功能正逐漸轉(zhuǎn)變?yōu)橐跃W(wǎng)絡(luò)通信為主,用戶也更傾向于手機(jī)應(yīng)用的體驗。</p><p>  為了滿足用戶在 Android 上瀏覽

26、本地圖片的需求,也結(jié)合上述的一系列分析和研究,本人決定開發(fā)一個基于 Android 平臺的圖片閱讀器的應(yīng)用客戶端軟件。</p><p>  1.2 課題的研究意義</p><p>  目前市場上安卓平臺占有率在20%左右,使用安卓手機(jī)的人數(shù)如此眾多,所以在安卓平臺上開發(fā)手機(jī)應(yīng)用軟件是比較有意義的。借助Android系統(tǒng)的全觸摸的形式,用戶可以用手指簡單的滑動、點擊本地圖片,能夠方便實現(xiàn)對

27、本地圖片和SD卡的加載、分類顯示、瀏覽、旋轉(zhuǎn)處理和縮放操作,方便用戶對手機(jī)本地圖片的整理,從而增強用戶體驗和易用性。手機(jī)應(yīng)用軟件的盈利空間非常大,無論是下載時收取一定費用,還是通過廣告盈利都是非常可行的。手機(jī)應(yīng)用軟件的開發(fā)與傳統(tǒng)PC機(jī)的應(yīng)用軟件開發(fā)有一定差距,因為手機(jī)平臺資源有限,所以開發(fā)時要處處考慮資源分配問題。而且,手機(jī)已經(jīng)和現(xiàn)代生活方式緊緊結(jié)合在一起,可以說是隨身必帶品。所以手機(jī)應(yīng)用軟件的盈利面因為手機(jī)的覆蓋率而變得非常廣。<

28、;/p><p>  1.3 課題設(shè)計目標(biāo)</p><p>  易于操作性:既然手機(jī)應(yīng)用軟件面向的是普通消費者而不是計算機(jī)專家,那么他們不可能深入的學(xué)習(xí)手機(jī)應(yīng)用軟件操作技巧。手機(jī)應(yīng)用軟件操作的簡單性是開發(fā)過程中必須要遵循的基本特征。</p><p>  良好的用戶界面:良好的用戶界面用戶界面更是吸引用戶的硬指標(biāo)。相關(guān)的美術(shù)構(gòu)圖、系統(tǒng)實時性和人性化提示也是必須要考慮的。&

29、lt;/p><p>  可中斷性:多任務(wù)處理是手機(jī)生活方式的基本特征。手機(jī)用戶常常在任務(wù)(如等一個電子郵件或者等車)之間有一小段時間。而游戲、通訊和工作數(shù)據(jù)訪問使用的是同一個設(shè)備。所以一個好的手機(jī)應(yīng)用軟件應(yīng)該提供短時間的娛樂功能,并且允許用戶在手機(jī)應(yīng)用軟件提醒模式和工作模式之間順利切換。所以在手機(jī)應(yīng)用軟件的服務(wù)過程中,如果遇到來電或接受到短信這樣的優(yōu)先級最高的進(jìn)程,要能夠保存手機(jī)應(yīng)用軟件進(jìn)程,保證接完來電或查看短信之

30、后還可以繼續(xù)正常工作。</p><p>  所以,在設(shè)計過程中,要特別注意這幾個方面的功能,使該系統(tǒng)更加完善。</p><p>  2 關(guān)鍵技術(shù)平臺與理論介紹</p><p>  2.1 ANDROID 平臺簡介和特點</p><p>  Android 操作系統(tǒng)是與 Windows Mobile、iPhone 等手機(jī)操作系統(tǒng)處在同一級別

31、的操作系統(tǒng),是 Google 公司在 2007 年 11 月發(fā)布的基于 Linux 核心的手機(jī)操作系統(tǒng),是真正開放和開源的移動平臺操作系統(tǒng)。Android是一個包含操作系統(tǒng)、中介架構(gòu)層及應(yīng)用程序所產(chǎn)生出來的軟件堆棧架構(gòu)。由下而上,其核心為嵌入式Linux2.6作業(yè)系統(tǒng),向上搭配Google為Android開發(fā)的類庫及Android運行時,再配合應(yīng)用程序架構(gòu),來開發(fā)各種不同的應(yīng)用程序。Android 包含的功能非常強大和完善,有很好的應(yīng)用

32、環(huán)境和用戶體驗,當(dāng)然也有很多的應(yīng)用接口,在 Android 平臺上,開發(fā)者可以隨意開發(fā)出各式各樣的應(yīng)用,因而以 Android 為平臺的應(yīng)用程序越來越多。</p><p>  Android 操作系統(tǒng)是第一個全部包含下列全部特點的平臺環(huán)境,下列列出的功能只是一些平臺具有的部分功能:</p><p>  (1)Android 是一個基于 Linux 核心和開源的真正完全開放、自由的開發(fā)平臺,

33、移動手機(jī)制造企業(yè)當(dāng)然可以不用像其他操作系統(tǒng)那樣,交付 Android 操作系統(tǒng)的專利費用才能使用和定制 Android 平臺;軟件開發(fā)者也不用擔(dān)心 Android會突然由于某個廠商的倒閉或被收購而突然消失。開發(fā)者自己就可以設(shè)計、整合、擴(kuò)展甚至可以替換現(xiàn)存的一些組件,Android 也沒有隱藏或者設(shè)置權(quán)限的框架API。因此加入到 Android 開發(fā)社區(qū)來共同改善和維護(hù) Android 的開發(fā)者越來越多,在當(dāng)下成為最為火熱的手機(jī)操作系統(tǒng)。

34、也正因為如此,在 Android 平臺上應(yīng)用程序與日劇增。</p><p>  (2)Android 組件的架構(gòu)是采用 Internet mashups。最初的時候一個應(yīng)用程序是不可以被另一個程序用不同的方式使用的;但是后來隨著平臺不斷的發(fā)展出現(xiàn)了變化,一個應(yīng)用程序的可以用不同的方式被另一個程序使用部分功能,這超出了程序員最初的預(yù)料。不同的用戶完全可以用自己開發(fā)不斷改善的版本替換一個已經(jīng)存在的內(nèi)嵌組件,這樣的結(jié)果

35、是解除了在移動手機(jī)開發(fā)上的開發(fā)者創(chuàng)新能力的束縛。</p><p>  (3)應(yīng)用程序架構(gòu):在應(yīng)用程序架構(gòu)內(nèi)已經(jīng)具備多種不同的基礎(chǔ)組件,在開發(fā)應(yīng)用程序時,就可以直接調(diào)用這些組件來使用,可以節(jié)省開發(fā)應(yīng)用程序的心力及時間。</p><p>  (4)Dalvik虛擬機(jī)器:在Android平臺上所使用Java虛擬機(jī),不是Sim公司的標(biāo)準(zhǔn)Java虛擬機(jī),而是使用Google自主開發(fā)的代號為Dalvi

36、k的虛擬機(jī),它在保證API方面的兼容的同時,針對移動手機(jī)進(jìn)行了大幅優(yōu)化,占用資源更小,運行效率更高。</p><p>  (5)Android 自身內(nèi)嵌了大量的應(yīng)用服務(wù)。集成的瀏覽器:集成的瀏覽器是Android內(nèi)建的瀏覽器,是以WebKit的瀏覽引擎為基礎(chǔ)所開發(fā)成的。WedKit是一個開源瀏覽器網(wǎng)頁排版引擎,目前使用WebKit引擎的瀏覽器主要有:Safari,Midori,Epiphany等。配合Androi

37、d手機(jī)的功能,可以在瀏覽網(wǎng)頁時,達(dá)到更好的效果,例如:局部性的縮放網(wǎng)頁上的資訊、觸控式的操作等效果。優(yōu)化的繪圖能力:在程序里可以用到的繪圖功能分為2D與3D兩個方面。在2D方面,Android提供了一套特有的類庫(SGL;而在3D方面則是使用OpenGLES1.0(openGL for Embedded systems)規(guī)范的類庫。它們是一種非??斓膱D形引擎,并且支持硬件加速。SQLite數(shù)據(jù)庫:SQLite提供結(jié)構(gòu)化的數(shù)據(jù)存取。SQL

38、ite是一款輕型的數(shù)據(jù)庫,它的設(shè)計目標(biāo)是嵌入式的,目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用的資源非常低。它能夠支持Windows/Linux/U nix等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如php,Java等,還有ODBC接口,同樣比起Mysql,P</p><p>  (6)操作系統(tǒng)可以自動管理 Android 應(yīng)用程序的生命周期,每個應(yīng)用程序被很多的不同的安全層相互隔離,這樣就使得現(xiàn)在的系統(tǒng)穩(wěn)

39、定性比以前的智能手機(jī)更加穩(wěn)健,終端用戶再也不用擔(dān)心應(yīng)用程序是否一直活動占用內(nèi)用,而影響其他應(yīng)用程序的運行,或者只有關(guān)閉一些應(yīng)用程序才能使得其他的應(yīng)用程序可以運行。Android 還針對電力供應(yīng)較弱,持續(xù)時間較短、存儲容量小的設(shè)備專門作了一系列的優(yōu)化。</p><p>  (7)可移植性好。大部分當(dāng)前和將來的硬件都被覆蓋了,因為 Android 上所有的程序都是用 java 編寫,然后在 Android 的 Dal

40、vik 虛擬機(jī)上運行,所以用戶編寫的代碼可以移植到 ARM、x86 和其他架構(gòu)上。支持多種輸入設(shè)備,其中包括鍵盤、觸屏和滾動球,用戶接口可以很好的適應(yīng)各種分辨率和方位。</p><p>  2.2 Android應(yīng)用的構(gòu)成和工作機(jī)制</p><p>  對于一個Android應(yīng)用程序來說,是由Activity、IntentReceiver、Service、Content Provider

41、四部分組成,但并不是每一個Android應(yīng)用程序都必須由這四部分組成。在應(yīng)用程序中使用時,需要在配置文件AndroidManifest.xml中進(jìn)行配置。這個配置文件是每個Android應(yīng)用程序所必需的,用于定義應(yīng)用程序的組件、組件的功能以及必要條件等。Android應(yīng)用的構(gòu)成和工作流程如圖2-1:</p><p>  圖2-1 Android的構(gòu)成和工作流程</p><p>  圖2-

42、2 Android的構(gòu)成和工作流程</p><p>  在Android SDK中,定義了讓開發(fā)者使用與核心應(yīng)用程序相同API的權(quán)限應(yīng)用程序框架是為了要簡化組件的重新利用而設(shè)計的,應(yīng)用程序可以發(fā)布功能為其它應(yīng)用程序所使用。但是,這要受限于應(yīng)用程序架構(gòu)的安全機(jī)制,使用者以用同樣的機(jī)制來新增、置換組件。目前所有的應(yīng)用程序是由服務(wù)及系統(tǒng)來組成,包含有:</p><p>  (l)一套強大和可擴(kuò)

43、展的視圖系統(tǒng):用來建構(gòu)一個應(yīng)用程序的基本組件,包了在開發(fā)系統(tǒng)畫面時,常用的列表、網(wǎng)格、文本框、按鈕等控制項,甚至是內(nèi)嵌的Web瀏覽器。 </p><p>  (2)內(nèi)容提供者:使應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)庫),或者共享它們自己的數(shù)據(jù)。</p><p>  (3)資源管理器:提供各種非程序代碼的資源讓應(yīng)用程序去使用。例如:本字符串、圖形

44、文件或排版相關(guān)的布局文件。</p><p>  (4)通知管理器:提供應(yīng)用程序在狀態(tài)欄中顯示應(yīng)用程序自定義的提示信息。</p><p>  (5)活動管理器:管理所有應(yīng)用程序的生命周期及提供常用的導(dǎo)航回退功能。例如:啟動應(yīng)用程序要用到的資源準(zhǔn)備及關(guān)閉應(yīng)用程序時釋放內(nèi)存及相關(guān)資源等工作。</p><p>  (6)視窗管理器:用來管理所有啟動程序的視窗。</p&

45、gt;<p>  (7)位置管理器:用來管理地圖服務(wù)的相關(guān)功能。</p><p>  (8)電話管理器:用來管理用戶撥打與接聽電話的相關(guān)功能。</p><p>  (9)包管理器:管理所有安裝在Android系統(tǒng)內(nèi)的包。</p><p>  在Android中包含一些C/C++的類庫,這些類庫能被Android系統(tǒng)中不同的組件來使用。開發(fā)者可以通過應(yīng)用

46、程序框架使用這些功能。部分核心類庫列表如下:</p><p>  (1)surface Manager:主要的功能是讓開發(fā)者可以去存取/顯示系統(tǒng)及管理的功能,在[顯示]與[存取操作]間的對應(yīng)、互動以及實現(xiàn)無接縫的2D/3D多應(yīng)用程序之間的整合。例如:在2D、2D顯示上的合成、疊合動作。</p><p>  (2)3Dlibraries:主要是依openGLES1.0規(guī)范所定義的3D繪圖引擎

47、。該庫使用硬件加速(當(dāng)硬件可用時),可以將硬件的3D功能做最佳化的處理顯示。</p><p>  (3)SGL:主要是處理有關(guān)顯示2D方面的繪圖引擎。</p><p>  (4)Media Frame work:主要是以packetVideo公司的OpenCORE為基礎(chǔ)所發(fā)展的多媒體類庫,該庫支持回放和錄制大量流行的音視頻格式和靜態(tài)圖片。例如:MPEG4、H.264、MP3、AAC、AMR

48、、JPG、PNG、GIF等格式</p><p>  (5)Free Type:主要是用來顯示點陣圖和處理向量字形的。</p><p>  (6)SSL:(secureSocketsuyer),中文名為“安全套接層協(xié)議層”,它是網(wǎng)景公司提出的基于WEB應(yīng)用的安全協(xié)議,當(dāng)前版本為3.0。SSL協(xié)議指定了一種在應(yīng)用程序協(xié)議(如HTTP、Telenet、NMTP和FTP等)和TCP/IP協(xié)議之間提

49、供數(shù)據(jù)安全性分層的機(jī)制,它為TCP/IP連接提供數(shù)據(jù)加密、服務(wù)器認(rèn)證、消息完整性以及可選的客戶機(jī)認(rèn)證。它已被廣泛地用于Web瀏覽器與服務(wù)器之間的身份認(rèn)證和加密數(shù)據(jù)傳輸。SSL協(xié)議位于TCP膽協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSL協(xié)議可分為兩層:SSL記錄協(xié)議(SSL Record Proto col):它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。SSL握手協(xié)議(SSL H

50、and shake proto col):它建立在SSL記錄協(xié)議之上,用于在實際的數(shù)據(jù)傳輸開始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。SSL協(xié)議提供的服務(wù)主要有:①認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;②加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊取;③維護(hù)數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過程中</p><p>  (7)SQLite:SQLite是一套開放性的關(guān)聯(lián)式資料庫,能夠被所有應(yīng)用程序使用的輕量

51、級的關(guān)系數(shù)據(jù)庫引擎。</p><p>  (8)web Kit:是一個先進(jìn)的網(wǎng)頁瀏覽器引擎,被用來構(gòu)建Android瀏覽器和內(nèi)嵌的web視圖,也可以讓開發(fā)者利用這個引擎來做不同的應(yīng)用。</p><p>  (9)lib c:就是一個BSD標(biāo)準(zhǔn)C類庫。但是,針對Linux嵌入式裝置進(jìn)行過最佳化的調(diào)整。</p><p>  雖然Android是用Java語言來開發(fā)、撰寫

52、應(yīng)用程序,但卻不使用Java運行時組件來執(zhí)行Java程序,而是使用了由Google自行研發(fā)的Android運行時組件來執(zhí)行程序。Android運行時組件包括兩個重要的部分,一個是核心類庫,另一個是Dalvik虛擬機(jī)。</p><p>  2.3 開發(fā)環(huán)境的搭建</p><p>  2.3.1 安裝并配置JDK 6</p><p>  首先需要的是JDK。Andr

53、oid SDK需要JDK 5或更高的版本,我們使用JDK 6來開發(fā)。以windows為例,從Sun網(wǎng)站(http://java.sun.com/javase/downloads/ )下載JDK 6并安裝。</p><p>  接下來,設(shè)置JAVA_HOME環(huán)境變量以指向JDK安裝文件夾。右鍵單擊“計算機(jī)”選擇“屬性”,選擇“高級系統(tǒng)設(shè)置”,然后單擊“環(huán)境變量”。單擊“新建”添加JAVA_HOME變量,如果該變量已

54、存在,單擊“編輯”修改它。JAVA_HOME的值類似于“C:\Program Files\Java\jdk1.6.0_16”。</p><p>  2.3.2 安裝Eclipse </p><p>  安裝JDK之后,可以從 http://www.eclipse.org/downloads/ 下載Eclipse IDE for Java Developers。將下載的.zip的文件解壓到

55、任何位置。</p><p>  首次啟動Eclipse時,它將要求為工作區(qū)間提供一個位置。為了簡化操作,可以選擇一個簡單的位置,比如D:\workspaces。</p><p>  2.3.3 安裝并配置Android SDK</p><p>  Android SDK是開發(fā)android應(yīng)用程序的基本要求,沒有Android SDK,android應(yīng)用開發(fā)無從談

56、起。Android SDK中包含一個模擬器,所以無需帶有Android操作系統(tǒng)的移動設(shè)備就能開發(fā)Android應(yīng)用程序。</p><p>  Android SDK可以從http://developer.android.com/sdk 下載。Android SDK同eclipse一樣以.zip文件的形式發(fā)布,所以將其解壓到合適的位置。Android SDK包含一個tools目錄,需要將它添加到PATH中。<

57、/p><p>  2.3.4 安裝ADT</p><p>  ADT這個Eclipse插件對開發(fā)Android應(yīng)用程序有很大的幫助。它提供了一些工具來創(chuàng)建、測試、和調(diào)試Android應(yīng)用程序。ADT需要使用Eclipse中的Install New Software工具來執(zhí)行安裝。</p><p>  (1)選擇Help菜單項并選擇Install New Softwar

58、e…選項。這個選項在以前的Eclipse版本中為“Software Updates”。</p><p>  (2)選擇“Work with”字段,輸https://dl-ssl.google.com/android/eclipse/ 。Eclipse將連接該網(wǎng)站并生成列表,如圖2-3所示。然后選擇父節(jié)點Developer Tools,并確認(rèn)同事選中所有子節(jié)點,然后單擊Next。</p><p&

59、gt;  (3)更具提示安裝所有的工具,并安裝ADT所需工具的許可協(xié)議。單擊“I accept…”,然后單擊Finish按鈕。</p><p>  圖2-3 使用Eclipse中的Install New Software功能安裝ADT</p><p>  在Eclipse中安裝ADT的最后一步是將他指向Android SDK。選擇windows菜單并選擇Preferences。在Prefe

60、rences對話框中,選擇Android節(jié)點并將SDK Location字段設(shè)置為Android SDK的路徑(參見圖3-2)然后單擊Apply按鈕。</p><p>  2.4 安卓應(yīng)用程序的結(jié)構(gòu)解析</p><p>  通常由以下四個組件來構(gòu)建一個完整的Android應(yīng)用程序。</p><p><b> ?、倩顒?lt;/b></p>

61、;<p><b> ?、谝鈭D接收器</b></p><p><b> ?、鄯?wù)</b></p><p><b> ?、軆?nèi)容提供者</b></p><p>  2.4.1 Activities </p><p>  然而,并不是所有的Android應(yīng)用程序都必須具

62、備上面的四個組件,可以由上面的一個或幾個來組建。當(dāng)決定使用以上哪些組件來構(gòu)建Android應(yīng)用程序時,需要將它們注冊在AndroidManifest.xml文件中,這是一個XML配置文件,在這個文件中可以聲明應(yīng)用程序組件以及它們的特性和要求。這個配置文件是每個Android應(yīng)用程序所必需的。</p><p>  Activities 是一個程序的組件之一。它的主要功能是提供界面。一個程序一般由多個Activity

63、組成,各activities之間關(guān)系很松散,它們之間沒有直接的關(guān)聯(lián)。必須有一個activity被指定為主activity,它是程序啟動時首先顯示的界面。每個activity都可以隨意啟動其它的activity。每當(dāng)一個activity被啟動,則前一個activity就被停止。一個程序中的所有啟動的activity都被放在一個棧中,所以被停止的activity并沒有銷毀,而在存于棧中。新啟動的activity先被存放于棧中,然后獲得輸入焦

64、點。在當(dāng)前活動的activity上點返回鍵,它被從棧中取出,然后銷毀,然后上一個activity被恢復(fù)。</p><p>  當(dāng)一個activity因為新的activity啟動而被停止時,它會收到狀態(tài)變化的通知,這樣的變化有多個,每個都會引起系統(tǒng)調(diào)用一個相應(yīng)的回調(diào)方法以通知activity,這些回調(diào)方法被統(tǒng)稱為“生命周期回調(diào)方法”。這些回調(diào)方法分別在Activity被創(chuàng)建、停止、恢復(fù)、銷毀時被調(diào)用。</p&

65、gt;<p>  如圖2-4,介紹各個“生命周期回調(diào)方法”,以及其各個方法之間的關(guān)系:onCreate :當(dāng)活動第一次啟動的時候,觸發(fā)該方法,可以在此時完成活動的初始化工作。</p><p>  onCreate 方法有一個參數(shù),該參數(shù)可以為空( null ),也可以是之前調(diào)用 onSaveInstanceState ()方法保存的狀態(tài)信息。</p><p>  on

66、Start :該方法的觸發(fā)表示所屬活動將被展現(xiàn)給用戶。</p><p>  onResume :當(dāng)一個活動和用戶發(fā)生交互的時候,觸發(fā)該方法。</p><p>  onPause :當(dāng)一個正在前臺運行的活動因為其他的活動需要前臺運行而轉(zhuǎn)入后臺運行的時候,觸發(fā)該方法。這時候需要將活動的狀態(tài)持久化,比如正在編輯的數(shù)據(jù)庫記錄等。</p><p>  onStop :當(dāng)一個活

67、動不再需要展示給用戶的時候,觸發(fā)該方法。如果內(nèi)存緊張,系統(tǒng)會直接結(jié)束這個活動,而不會觸發(fā) onStop 方法。 所以保存狀態(tài)信息是應(yīng)該在onPause時做,而不是onStop時做。活動如果沒有在前臺運行,都將被停止或者Linux管理進(jìn)程為了給新的活動預(yù)留足夠的存儲空間而隨時結(jié)束這些活動。因此對于開發(fā)者來說,在設(shè)計應(yīng)用程序的時候,必須時刻牢記這一原則。在一些情況下,onPause方法或許是活動觸發(fā)的最后的方法,因此開發(fā)者需要在這個時候保存

68、需要保存的信息。</p><p>  onRestart :當(dāng)處于停止?fàn)顟B(tài)的活動需要再次展現(xiàn)給用戶的時候,觸發(fā)該方法。</p><p>  onDestroy :當(dāng)活動銷毀的時候,觸發(fā)該方法。和onStop 方法一樣,如果內(nèi)存緊張,系統(tǒng)會直接結(jié)束這個活動而不會觸發(fā)該方法。</p><p>  圖2-4 Android生命周期</p><p>

69、;  2.4.2 Service</p><p>  Service是android 系統(tǒng)中的一種組件,它跟Activity的級別差不多,但是他不能自己運行,只能后臺運行,并且可以和其他組件進(jìn)行交互。Service的啟動有兩種方式:context.startService() 和 context.bindService()。</p><p>  使用context.startS

70、ervice() 啟動Service經(jīng)歷:</p><p>  context.startService()  ->onCreate()- >onStart()->Service running</p><p>  context.stopService() | ->onDestroy() ->Service stop </p>

71、<p>  如果Service還沒有運行,則android先調(diào)用onCreate()然后調(diào)用onStart();如果Service已經(jīng)運行,則只調(diào)用onStart(),所以一個Service的onStart方法可能會重復(fù)調(diào)用多次。 </p><p>  stopService的時候直接onDestroy,如果是調(diào)用者自己直接退出而沒有調(diào)用stopService的話,Service會一直在后

72、臺運行。該Service的調(diào)用者再啟動起來后可以通過stopService關(guān)閉Service。</p><p>  所以調(diào)用startService的生命周期為:onCreate --> onStart(可多次調(diào)用) --> onDestroy</p><p>  使用使用context.bindService()啟動Service會經(jīng)歷:context.bindServic

73、e()->onCreate()->onBind()->Service runningonUnbind() -> onDestroy() ->Service stop</p><p>  onBind將返回給客戶端一個IBind接口實例,IBind允許客戶端回調(diào)服務(wù)的方法,比如得到Service運行的狀態(tài)或其他操作。這個時候把調(diào)用者(Context,例如Activity)會和Serv

74、ice綁定在一起,Context退出了,Srevice就會調(diào)用onUnbind->onDestroy相應(yīng)退出。 </p><p>  所以調(diào)用bindService的生命周期為:onCreate --> onBind(只一次,不可多次綁定) --> onUnbind --> onDestory。</p><p>  在Service每一次的開啟關(guān)閉過程中,

75、只有onStart可被多次調(diào)用(通過多次startService調(diào)用),其他onCreate,onBind,onUnbind,onDestory在一個生命周期中只能被調(diào)用一次。 </p><p>  service可以在和多場合的應(yīng)用中使用,比如播放多媒體的時候用戶啟動了其他Activity這個時候程序要在后臺繼續(xù)播放,比如檢測SD卡上文件的變化,再或者在后臺記錄你地理信息位置的改變等等。</p&

76、gt;<p>  2.4.3 Content Provider</p><p>  Content Provider 屬于Android應(yīng)用程序的組件之一,作為應(yīng)用程序之間唯一的共享數(shù)據(jù)的途徑,Content Provider 主要的功能就是存儲并檢索數(shù)據(jù)以及向其他應(yīng)用程序提供訪問數(shù)據(jù)的借口。 </p><p>  Android 系統(tǒng)為一些常見的數(shù)據(jù)類型(如音樂、視頻、圖

77、像、手機(jī)通信錄聯(lián)系人信息等)內(nèi)置了一系列的 Content Provider, 這些都位于android.provider包下。持有特定的許可,可以在自己開發(fā)的應(yīng)用程序中訪問這些Content Provider。</p><p>  讓自己的數(shù)據(jù)和其他應(yīng)用程序共享有兩種方式:創(chuàng)建自己的Content Provier(即繼承自ContentProvider的子類)  或者是將自己的數(shù)據(jù)添加到已有的Cont

78、ent Provider中去,后者需要保證現(xiàn)有的Content Provider和自己的數(shù)據(jù)類型相同且具有該 Content Provider的寫入權(quán)限。對于Content Provider,最重要的就是數(shù)據(jù)模型(data model) 和 URI。</p><p>  3 需求分析和可行性研究</p><p>  需求分析簡單地說就是分析一般用戶的要求,按照用戶需求大致的把目標(biāo)系統(tǒng)架構(gòu)

79、出來。需求分析首先要做的是詳細(xì)調(diào)查實際要處理的對象,對當(dāng)前目標(biāo)的現(xiàn)狀要做到充分了解,然后確定用戶真正所需要的也切合實際情況的系統(tǒng),最終才能根據(jù)實際情況確定系統(tǒng)所具有的全部功能。本次設(shè)計的圖片閱讀器即是如此。</p><p>  3.1 問題的定義</p><p>  問題定義:就是從系統(tǒng)角度來理解軟件,確定對所開發(fā)系統(tǒng)的綜合要求,并提出這些需求的實現(xiàn)條件,以及需求應(yīng)該達(dá)到的標(biāo)準(zhǔn).這些需求

80、包括:功能需求(做什么),性能需求(要達(dá)到什么指標(biāo)),環(huán)境需求(如機(jī)型,操作系統(tǒng)等),可靠性需求(不發(fā)生故障的概率),安全保密需求,用戶界面需求,資源使用需求(軟件運行是所需的內(nèi)存,CPU等),軟件成本消耗與開發(fā)進(jìn)度需求,預(yù)先估計以后系統(tǒng)可能達(dá)到的目標(biāo)。</p><p>  在開發(fā)軟件之前,經(jīng)過查閱有關(guān)文獻(xiàn)和著作,一段時間的分析和學(xué)習(xí)之后,基本了解了Android 平臺的一些具體應(yīng)用以及如何在 Android 平

81、臺上開發(fā)應(yīng)用程序,還有圖像顯示高分辨率的具體原理,也學(xué)習(xí)了圖像處理相關(guān)的一些知識,認(rèn)識到完成本軟件和實現(xiàn)基本的功能,需要做到掌握 Android 平臺框架,熟悉 JAVA 開發(fā)語言,熟悉相關(guān)的一些基礎(chǔ)理論。</p><p><b>  3.2 需求分析</b></p><p>  3.2.1 需求分析的過程</p><p>  需求分析階段

82、的工作,可以分為三個方面:分析與綜合,制訂規(guī)格說明,評審。</p><p>  分析與綜合:逐步細(xì)化所有的軟件功能,找出系統(tǒng)各元素間的聯(lián)系,接口特性和設(shè)計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分。最后,綜合成系統(tǒng)的解決方案,給出要開發(fā)的系統(tǒng)的詳細(xì)邏輯模型(做什么的模型)。</p><p>  制訂規(guī)格說明書:即編制文檔,描述需求的文檔稱為軟件需求規(guī)格說明書。注意需求分析

83、階段的成果是需求規(guī)格說明書,向下一階段提交。</p><p>  評審:對功能的正確性,完整性和清晰性,以及其它需求給予評價。評審?fù)ㄟ^才可進(jìn)行下一階段的工作,否則重新進(jìn)行需求分析。</p><p>  3.2.2 需求分析的方法</p><p>  需求分析的方法有很多。這里只強調(diào)原型化方法,其它的方法如:結(jié)構(gòu)化方法,動態(tài)分析法等在此不討論。</p>

84、<p>  原型化方法是十分重要的。原型就是軟件的一個早期可運行的版本,它實現(xiàn)了目標(biāo)系統(tǒng)的某些或全部功能。</p><p>  原型化方法就是盡可能快地建造一個粗糙的系統(tǒng),這系統(tǒng)實現(xiàn)了目標(biāo)系統(tǒng)的某些或全部功能,但是這個系統(tǒng)可能在可靠性,界面的友好性或其他方面上存在缺陷。建造這樣一個系統(tǒng)的目的是為了考察某一方面的可行性,如算法的可行性,技術(shù)的可行性,或考察是否滿足用戶的需求等。如,為了考察是否滿足用戶的

85、要求,可以用某些軟件工具快速的建造一個原型系統(tǒng),這個系統(tǒng)只是一個界面,然后聽取用戶的意見,改進(jìn)這個原型.以后的目標(biāo)系統(tǒng)就在原型系統(tǒng)的基礎(chǔ)上開發(fā)。</p><p>  原型主要有三種類型(軟考考過):探索型,實驗型,進(jìn)化型.探索型:目的是要弄清楚對目標(biāo)系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性。實驗型:用于大規(guī)模開發(fā)和實現(xiàn)前,考核方案是否合適,規(guī)格說明是否可靠。進(jìn)化型:目的不在于改進(jìn)規(guī)格說明,而是將系統(tǒng)建

86、造得易于變化,在改進(jìn)原型的過程中,逐步將原型進(jìn)化成最終系統(tǒng)。</p><p>  使用原型化方法有兩種不同的策略:廢棄策略,追加策略。廢棄策略:先建造一個功能簡單而且質(zhì)量要求不高的模型系統(tǒng),針對這個系統(tǒng)反復(fù)進(jìn)行修改,形成比較好的思想,據(jù)此設(shè)計出較完整,準(zhǔn)確,一致,可靠的最終系統(tǒng)。系統(tǒng)構(gòu)造完成后,原來的模型系統(tǒng)就被廢棄不用.探索型和實驗型屬于這種策略。</p><p>  追加策略:先構(gòu)造一

87、個功能簡單而且質(zhì)量要求不高的模型系統(tǒng),作為最終系統(tǒng)的核心,然后通過不斷地擴(kuò)充修改,逐步追加新要求,發(fā)展成為最終系統(tǒng)。進(jìn)化型屬于這種策略。</p><p>  3.2.3 本軟件研究方法</p><p>  軟件工程是一類求解軟件的工程,它應(yīng)用計算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,借鑒傳統(tǒng)工程的原則、方法,創(chuàng)建軟件以達(dá)到提高質(zhì)量、降低成本的目的。其中,計算機(jī)科學(xué)、數(shù)學(xué)用于構(gòu)造模型與算法,工程科

88、學(xué)用于制定規(guī)范、設(shè)計范型、評估成本及確定權(quán)衡,管理科學(xué)用于計劃、資源、質(zhì)量、成本等管理。軟件工程是一門指導(dǎo)計算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科。</p><p>  軟件工程的模型是軟件開發(fā)全部過程、活動和任務(wù)的結(jié)構(gòu)框架。 瀑布模型內(nèi)容及特點:  瀑布模型將軟件生存周期的各項活動規(guī)定為依固定順序連接的軟干階段工作,是一種線性模型。各階段活動為,提出系統(tǒng)需求、提出軟件需求、需求分析、設(shè)計、編碼、測試和運行。每個

89、開發(fā)階段具有以下特征,從上一階段接受本階段工作的對象作為輸入,對上述輸入實施本階段的活動,給出本階段的工作成果作為輸出傳入下一階段,對本階段工作進(jìn)行評審,若本階段工作得到確認(rèn),則繼續(xù)下階段工作,否則返回前一階段甚至更前階段。瀑布模型最為突出的缺點是該模型缺乏靈活性。演化模型內(nèi)容及特點:  演化模型主要針對事先不能完整定義需求的軟件開發(fā),其開發(fā)過程一般是首先開發(fā)核心系統(tǒng),當(dāng)核心系統(tǒng)投入運行后,軟件開發(fā)人員根據(jù)用戶的反饋,實施開發(fā)的迭代

90、過程,每一迭代過程均由需求、設(shè)計、編碼、測試、集成等階段組成,直到軟件開發(fā)結(jié)束。演化模型在一定程度上減少了軟件開發(fā)活動的盲目性。螺旋模型內(nèi)容及特點:  它是在瀑布模型和演化模型的基礎(chǔ)上,加入兩者所忽略的風(fēng)險分析所建立的一種軟件開發(fā)模型。沿螺旋模型順時針方向,依次表達(dá)了四個方面的活動,制定計劃、風(fēng)險分</p><p>  噴泉模型內(nèi)容及特點:</p><p>  它體現(xiàn)了軟件創(chuàng)建所固有的

91、迭代和無間隙特征,噴泉模型主要用于支持面向?qū)ο箝_發(fā)過程。增量模型內(nèi)容及特點:</p><p>  在設(shè)計了軟件系統(tǒng)整體體系結(jié)構(gòu)之后,首先完整的開發(fā)系統(tǒng)的一個初始子集,繼之,根據(jù)這一子集,建造一個更加精細(xì)的版本,如此不斷的進(jìn)行系統(tǒng)的增量開發(fā)。 瀑布模型、演化模型、螺旋模型之間的聯(lián)系:相同點是這三個模型都分為多個階段,而瀑布模型一次完成軟件,演化模型分為多次完成,每次迭代完成軟件的一個部分,螺旋模型也分為多

92、次完成,每次完成軟件的一個新原型,并考慮風(fēng)險分析。</p><p>  本軟件主要實現(xiàn)的功能是顯示本地和SD卡上的圖片和對圖片進(jìn)行一些簡單的處理,第一,需要實現(xiàn)掃描相關(guān)存儲介質(zhì)上的圖片數(shù)據(jù);第二,對于掃描出的圖片能夠顯其存儲的目錄;第三,在查看相關(guān)目錄中的圖片時顯示低分辨率圖片的縮略圖,使用戶能夠?qū)φ麄€存儲目錄中的所有圖片有一個大致的了解和進(jìn)行簡單的瀏覽;第四,當(dāng)用戶點擊預(yù)覽圖片中的想要查看的單張圖片時,能夠?qū)D

93、片按照原分辨率顯示出來;第五,如果用戶想要同一存儲目錄下多張圖片自動切換顯示來瀏覽圖片,那就需要使圖片按幻燈片一樣播放;第六,如果從存儲介質(zhì)中掃描出來的圖片是顛倒或橫置,就需要進(jìn)行旋轉(zhuǎn)來調(diào)節(jié),以便使用戶能夠正常觀看圖片;第七,對掃描出的圖片過于大以致不能在現(xiàn)有的屏幕上完全顯示出來或過于小用戶想查看圖片細(xì)節(jié)時,就要通過對圖片的縮放操作來處理;第八,對于一張圖片,用戶想深入了解,最簡單的就是了解其大小和所在位置,所以要實現(xiàn)圖片詳細(xì)信息的查看

94、;第九,對于不喜歡的圖片,用戶要對其刪除,對圖片的刪除操作需要實現(xiàn)。</p><p>  首先進(jìn)行總體的分析和設(shè)計,再將基本信息模塊的具體內(nèi)容設(shè)計完成,然后完成其它各個子模塊的功能。不同階段中注意對系統(tǒng)進(jìn)行備份。通過DDMS調(diào)試來發(fā)現(xiàn)問題,并要重視作好筆記。本項目采用SQLite進(jìn)行數(shù)據(jù)庫設(shè)計,開發(fā)工具采用eclipse+Android SDK2.2開發(fā)環(huán)境。</p><p>  3.3

95、 可行性分析</p><p>  可行性分析的目的,就是通過具體某個項目的主要內(nèi)容和與之相對應(yīng)的相關(guān)條件,來從各方面對其進(jìn)行調(diào)查研究,以確定問題是否能夠得到解決;也即是用最小的代價在盡可能的時間內(nèi)確定問題是否能夠解決,以避免盲目投資帶來的巨大浪費??尚行苑治鲂枰獙Σ煌目赡芙鉀Q方法進(jìn)行分析,并對所得到的結(jié)果進(jìn)行預(yù)測,看取得的效益和影響是否達(dá)到預(yù)期的目標(biāo)??尚行苑治霰仨氁龅焦⒖煽亢涂茖W(xué)。下面從經(jīng)濟(jì)、技術(shù)、操作

96、、法律四個方面來對本系統(tǒng)進(jìn)行可行性分析。</p><p>  3.3.1 經(jīng)濟(jì)可行性</p><p>  基于 Android 平臺的圖片閱讀器的開發(fā),在經(jīng)過查閱有關(guān)資料,一段時間的調(diào)查和仔細(xì)研究潛在的市場和成本-效益分析,綜合各種條件之后,最后得到本系統(tǒng)在經(jīng)濟(jì)上是可行的。下面從投入和效益兩方面來對其進(jìn)行分析。</p><p>  首先在投入方面,開發(fā)者僅需一臺配

97、置一般的計算機(jī),內(nèi)存要求也不用太高,再加上 JDK,配置了 AndroidADT 的 Eclipse、Android SDK 和Android 模擬器后就可以進(jìn)行開發(fā),開發(fā)完成后自己就可以進(jìn)行模擬實驗,而且很容易找到裝有Android 系統(tǒng)的手機(jī)。</p><p>  3.3.2 技術(shù)可行性</p><p>  根據(jù)以前軟件開發(fā)總結(jié)的經(jīng)驗和通過對本系統(tǒng)具有的功能結(jié)構(gòu)詳細(xì)的分析,采用日漸趨

98、于成熟的 Android 開發(fā)技術(shù),按照軟件開發(fā)相關(guān)的具體流程就可以設(shè)計和開發(fā)本系統(tǒng)程序。前面調(diào)研獲取的準(zhǔn)確和完全的信息是開發(fā)功能完善應(yīng)用程序的前提;而使用當(dāng)下最為流行的設(shè)計方法,有助于以后對軟件進(jìn)行有序完善的開發(fā)和易于擴(kuò)展,并能夠大大簡化設(shè)計流程,減少無謂的工作量,減少應(yīng)用程序可能出現(xiàn)的漏洞和缺陷。同時 JAVA 已經(jīng)是很成熟的跨平臺軟件開發(fā)語言,在J2EE 上開發(fā)應(yīng)用程序也日漸成熟,而 Android 則是這幾年關(guān)注度一直很高的系統(tǒng)

99、平臺,開放性非常強,在此平臺上的開發(fā)能夠使開發(fā)者了解最前沿的技術(shù)理念和新的框架結(jié)構(gòu)設(shè)計。所以在技術(shù)上本系統(tǒng)是可行的。</p><p>  3.3.3 操作可行性</p><p>  基于 Android 平臺的圖片閱讀器客戶端軟件具備友好的用戶界面,使用方便,操作簡單,易于被用戶接受,有很好的用戶體驗。因此從使用操作方面看,此系統(tǒng)的開發(fā)是可行的。</p><p>

100、  3.3.4 法律可行性</p><p>  本系統(tǒng)屬于私人設(shè)計,在開發(fā)過程中沒有涉及合同、責(zé)任等與法律相抵觸的方面。因此,本系統(tǒng)在法律上是可行的。</p><p>  綜合上述四個方面的可行性分析可知,開發(fā)一個基于 Android 的圖像閱讀器客戶端是可以實現(xiàn)和可行的。</p><p><b>  4 系統(tǒng)概要設(shè)計</b></p&

101、gt;<p>  4.1 系統(tǒng)的功能模塊說明</p><p>  基于 Android 平臺的圖片閱讀器客戶端軟件主要的功能,是能夠在本地顯示和處理、以及實現(xiàn)放縮,主要提供如下功能:</p><p>  (1)圖片存儲目錄列表</p><p><b>  圖片存儲的物理位置</b></p><p>  (

102、2)圖片預(yù)覽列表:</p><p>  對于SD卡中的圖片是以列表的方式顯示出來,這樣將能夠?qū)d卡中的所有圖片有個大致的了解和進(jìn)行簡單的瀏覽。</p><p>  (3)單張圖片顯示:</p><p>  用戶可以點擊圖片列表中某一項進(jìn)入單張圖片顯示。</p><p><b>  (4)圖片操作選項</b></

103、p><p>  點擊menu顯示可對圖片進(jìn)行哪些操作的選項。</p><p><b>  (5)幻燈片播放</b></p><p>  可使一個列表中的全部圖片按照幻燈片顯示。</p><p><b>  (6)旋轉(zhuǎn)圖片</b></p><p>  可使圖片逆時針或順時針旋轉(zhuǎn)90

104、度和旋轉(zhuǎn)180度。</p><p><b>  (7)縮放處理</b></p><p>  可以對其做放縮處理的功能。</p><p>  (8)圖片的詳細(xì)信息</p><p>  顯示圖片的名稱、所在位置、圖片大小、修改時間。</p><p>  (9)圖片的刪除操作</p>&l

105、t;p><b>  刪除圖片。</b></p><p>  4.2 系統(tǒng)的功能模塊結(jié)構(gòu)圖</p><p>  在程序設(shè)計分析的基礎(chǔ)上,結(jié)合實際情況,得出本程序的功能模塊結(jié)構(gòu)圖。在結(jié)構(gòu)圖中包括了功能模塊的表示及其中部分功能的實現(xiàn)原理。</p><p>  首先是一個總的功能模塊的結(jié)構(gòu)圖,其中包括了系統(tǒng)設(shè)計時的總體功能概括,如圖4-1。&l

106、t;/p><p>  圖4-1 總系統(tǒng)功能模塊</p><p>  然后在總體的功能模塊后面是主體功能的詳細(xì)模塊顯示。在功能菜單欄上可分為幾個部分,詳細(xì)見圖4-2,</p><p>  圖4-2 功能菜單欄模塊</p><p>  還有就是附加功能模塊(“更多”)的詳細(xì)介紹??傮w書寫了圖片添加界面的功能點,結(jié)構(gòu)圖如圖4-3所示,</p>

107、;<p>  圖4-3 附加功能模塊</p><p>  4.3 業(yè)務(wù)流分析</p><p>  基于 Android 平臺的圖片閱讀器客戶端軟件的業(yè)務(wù)流程大致如下:用戶可以點擊某個包含圖片的列表項,就可以進(jìn)入單張圖片顯示模式,顯示對應(yīng)的是圖片,點擊屏幕上顯示的左右箭頭按鈕可以查看上一張和下一張圖片,點擊圖片是對圖片進(jìn)行下一步操作的菜單欄。然后用戶可以找到相應(yīng)縮放按鈕點擊彈

溫馨提示

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

最新文檔

評論

0/150

提交評論