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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、取得了比較不錯(cuò)的結(jié)果,各方面性能表現(xiàn)良好。較好的實(shí)現(xiàn)了對(duì)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è)計(jì)目標(biāo)1</p><p>  2 關(guān)鍵技術(shù)平臺(tái)與理論介紹3</p><p>  2.1 ANDROI

14、D 平臺(tái)簡(jiǎn)介和特點(diǎn)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è)計(jì)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è)計(jì)20</p><p>  5.1 系統(tǒng)主要功能界面的設(shè)計(jì)和實(shí)現(xiàn)20</p>&

19、lt;p>  5.1.1 對(duì)SD卡圖片文件的掃描.20</p><p>  5.1.2 圖片存儲(chǔ)目錄24</p><p>  5.1.3 圖片預(yù)覽25</p><p>  5.1.4 單張圖片顯示27</p><p>  5.2 系統(tǒng)任務(wù)界面的設(shè)計(jì)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 軟件測(cè)試39</p><p>  6.1 軟

21、件測(cè)試描述39</p><p>  6.2 系統(tǒng)功能測(cè)試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ù)的匯集,往往指以移動(dòng)互聯(lián)網(wǎng)為傳輸媒介,以運(yùn)營(yíng)商服務(wù)器和用戶計(jì)算機(jī)為處理終端,以手機(jī)應(yīng)用軟件為信

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

41、四部分組成,但并不是每一個(gè)Android應(yīng)用程序都必須由這四部分組成。在應(yīng)用程序中使用時(shí),需要在配置文件AndroidManifest.xml中進(jìn)行配置。這個(gè)配置文件是每個(gè)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)用程序框架是為了要簡(jiǎn)化組件的重新利用而設(shè)計(jì)的,應(yīng)用程序可以發(fā)布功能為其它應(yīng)用程序所使用。但是,這要受限于應(yīng)用程序架構(gòu)的安全機(jī)制,使用者以用同樣的機(jī)制來新增、置換組件。目前所有的應(yīng)用程序是由服務(wù)及系統(tǒng)來組成,包含有:</p><p>  (l)一套強(qiáng)大和可擴(kuò)

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

44、文件或排版相關(guān)的布局文件。</p><p>  (4)通知管理器:提供應(yīng)用程序在狀態(tài)欄中顯示應(yīng)用程序自定義的提示信息。</p><p>  (5)活動(dòng)管理器:管理所有應(yīng)用程序的生命周期及提供常用的導(dǎo)航回退功能。例如:啟動(dòng)應(yīng)用程序要用到的資源準(zhǔn)備及關(guān)閉應(yīng)用程序時(shí)釋放內(nèi)存及相關(guān)資源等工作。</p><p>  (6)視窗管理器:用來管理所有啟動(dòng)程序的視窗。</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++的類庫(kù),這些類庫(kù)能被Android系統(tǒng)中不同的組件來使用。開發(fā)者可以通過應(yīng)用

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

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

48、、JPG、PNG、GIF等格式</p><p>  (5)Free Type:主要是用來顯示點(diǎn)陣圖和處理向量字形的。</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í)際的數(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)式資料庫(kù),能夠被所有應(yīng)用程序使用的輕量

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

52、應(yīng)用程序,但卻不使用Java運(yùn)行時(shí)組件來執(zhí)行Java程序,而是使用了由Google自行研發(fā)的Android運(yùn)行時(shí)組件來執(zhí)行程序。Android運(yùn)行時(shí)組件包括兩個(gè)重要的部分,一個(gè)是核心類庫(kù),另一個(gè)是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ì)算機(jī)”選擇“屬性”,選擇“高級(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>  首次啟動(dòng)Eclipse時(shí),它將要求為工作區(qū)間提供一個(gè)位置。為了簡(jiǎn)化操作,可以選擇一個(gè)簡(jiǎn)單的位置,比如D:\workspaces。</p><p>  2.3.3 安裝并配置Android SDK</p><p>  Android SDK是開發(fā)android應(yīng)用程序的基本要求,沒有Android SDK,android應(yīng)用開發(fā)無(wú)從談

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

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

58、e…選項(xiàng)。這個(gè)選項(xiàng)在以前的Eclipse版本中為“Software Updates”。</p><p>  (2)選擇“Work with”字段,輸https://dl-ssl.google.com/android/eclipse/ 。Eclipse將連接該網(wǎng)站并生成列表,如圖2-3所示。然后選擇父節(jié)點(diǎn)Developer Tools,并確認(rèn)同事選中所有子節(jié)點(diǎn),然后單擊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對(duì)話框中,選擇Android節(jié)點(diǎn)并將SDK Location字段設(shè)置為Android SDK的路徑(參見圖3-2)然后單擊Apply按鈕。</p><p>  2.4 安卓應(yīng)用程序的結(jié)構(gòu)解析</p><p>  通常由以下四個(gè)組件來構(gòu)建一個(gè)完整的Android應(yīng)用程序。</p><p><b> ?、倩顒?dòng)</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、備上面的四個(gè)組件,可以由上面的一個(gè)或幾個(gè)來組建。當(dāng)決定使用以上哪些組件來構(gòu)建Android應(yīng)用程序時(shí),需要將它們注冊(cè)在AndroidManifest.xml文件中,這是一個(gè)XML配置文件,在這個(gè)文件中可以聲明應(yīng)用程序組件以及它們的特性和要求。這個(gè)配置文件是每個(gè)Android應(yīng)用程序所必需的。</p><p>  Activities 是一個(gè)程序的組件之一。它的主要功能是提供界面。一個(gè)程序一般由多個(gè)Activity

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

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

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

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

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

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

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

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

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

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

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

74、ice綁定在一起,Context退出了,Srevice就會(huì)調(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在一個(gè)生命周期中只能被調(diào)用一次。 </p><p>  service可以在和多場(chǎng)合的應(yīng)用中使用,比如播放多媒體的時(shí)候用戶啟動(dòng)了其他Activity這個(gè)時(shí)候程序要在后臺(tái)繼續(xù)播放,比如檢測(cè)SD卡上文件的變化,再或者在后臺(tái)記錄你地理信息位置的改變等等。</p&

76、gt;<p>  2.4.3 Content Provider</p><p>  Content Provider 屬于Android應(yīng)用程序的組件之一,作為應(yīng)用程序之間唯一的共享數(shù)據(jù)的途徑,Content Provider 主要的功能就是存儲(chǔ)并檢索數(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)限。對(duì)于Content Provider,最重要的就是數(shù)據(jù)模型(data model) 和 URI。</p><p>  3 需求分析和可行性研究</p><p>  需求分析簡(jiǎn)單地說就是分析一般用戶的要求,按照用戶需求大致的把目標(biāo)系統(tǒng)架構(gòu)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論