版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要隨著智能手機(jī)走進(jìn)普通人的生活,它將成為人們獲取信息的主要設(shè)備。因此,手機(jī)的應(yīng)用服務(wù)將會(huì)有很大的發(fā)展空間,手機(jī)圖片管理服務(wù)就是其中的一項(xiàng)。Android平臺(tái)支持各種應(yīng)用的開(kāi)發(fā),它是目前最流行的開(kāi)源智能手機(jī)操作系統(tǒng),最新的版本是android4.2,提供了便捷靈活的開(kāi)發(fā)接口。本課題在Android SDK2.2平臺(tái)下,設(shè)計(jì)了一個(gè)手機(jī)圖片管理。采用了Android平臺(tái)的Framework層提供的接口,實(shí)現(xiàn)了圖片預(yù)覽、圖片動(dòng)態(tài)切換、停止播放等功能,支持jpg,bmp,png和gif圖片格式,該程序是獨(dú)立的apk文件,可以安裝在android2.2以上的系統(tǒng)內(nèi)。它可以讓手機(jī)成為一個(gè)圖片管理,用戶可以
2、將其放在心儀的地方,來(lái)展示美好的圖片,而不必再去購(gòu)買別的設(shè)備就能擁有精美的圖片管理了。本文開(kāi)頭首先對(duì)圖片管理軟件的研究背景做了簡(jiǎn)單介紹,其次簡(jiǎn)述了現(xiàn)今流行的幾個(gè)手機(jī)開(kāi)發(fā)平臺(tái),詳細(xì)介紹了Android開(kāi)發(fā)平臺(tái)的架構(gòu),并描述了Android開(kāi)發(fā)環(huán)境的搭建過(guò)程;接下來(lái)是對(duì)系統(tǒng)設(shè)計(jì)的介紹,本文從對(duì)購(gòu)書比價(jià)系統(tǒng)的分析,到數(shù)據(jù)庫(kù)的設(shè)計(jì),再到系統(tǒng)客戶端的實(shí)現(xiàn)都做了詳細(xì)的解說(shuō),并把有些細(xì)節(jié)和技術(shù)提出來(lái)做單一的解說(shuō);緊接著本文描述了此客戶端的圖片管理軟件的測(cè)試過(guò)程和如何發(fā)布此系統(tǒng)。本設(shè)計(jì)完成后,能夠?qū)崿F(xiàn)以下功能:圖片的瀏覽、圖片屬性的修改、圖片的一些基本操作。關(guān)鍵詞:Android ;java;圖片管理;I第1
3、章 緒論1.1 系統(tǒng)開(kāi)發(fā)背景如今手機(jī)就像鑰匙一樣,是我們出門必帶的物品之一。隨著科技的迅猛發(fā)展,現(xiàn)在的手機(jī)都是智能手機(jī),它的功能不僅僅只是用來(lái)打電話或是收發(fā)短信,我們還可以用它聽(tīng)歌看視頻、用藍(lán)牙傳輸數(shù)據(jù)、玩游戲、上網(wǎng)等等。據(jù)數(shù)據(jù)資料顯示,截至2013年1月我國(guó)有8億手機(jī)用戶,使用手機(jī)上網(wǎng)的用戶超過(guò)了6億?;赼ndroid平臺(tái)手機(jī)的發(fā)展趨勢(shì),本設(shè)計(jì)以android平臺(tái)手機(jī)為核心制作了一個(gè)圖片瀏覽器。本次設(shè)計(jì)運(yùn)用android平臺(tái)手機(jī)作為研究開(kāi)發(fā)對(duì)象,配合Java語(yǔ)言程序設(shè)計(jì)以及面向?qū)ο笏枷朐O(shè)計(jì)了一種手機(jī)圖片瀏覽器。本設(shè)計(jì)完成后,能夠?qū)崿F(xiàn)以下功能:圖片的瀏覽、圖片屬性的修改、圖片的一些基本操作,
4、一些遠(yuǎn)程模塊的調(diào)用、根據(jù)不同圖片擴(kuò)展名來(lái)實(shí)現(xiàn)圖片只能的打開(kāi),同時(shí)給以后的一些實(shí)用軟件留下了借口、可以實(shí)現(xiàn)與手機(jī)之間的通訊。以及電腦之間的共享。在設(shè)計(jì)時(shí),按照設(shè)計(jì)的要求,從可靠性、經(jīng)濟(jì)性、安全性三個(gè)方面進(jìn)行考慮,通過(guò)設(shè)計(jì)方案的比較,確定出來(lái)一套即經(jīng)濟(jì)又可行的方案。本次設(shè)計(jì)是對(duì)所學(xué)知識(shí)的綜合運(yùn)用,把理論知識(shí)和實(shí)踐相結(jié)合。在本次設(shè)計(jì)與檢驗(yàn)過(guò)程中遇到了許多實(shí)際問(wèn)題,比如android平臺(tái)手機(jī)及其運(yùn)行環(huán)境的選擇,不熟悉myeclipse和eclipse軟件的使用方法,不熟悉開(kāi)發(fā)技巧,可能會(huì)發(fā)生一些微小功能不能實(shí)現(xiàn)、軟件運(yùn)行不穩(wěn)定,如何設(shè)計(jì)軟件的最佳外觀效果等。所有的這些問(wèn)題,我們都通過(guò)查閱資料,咨詢老師
5、一一解決了,為設(shè)計(jì)的成功提供了保障。本文通過(guò)方案確認(rèn),介紹了設(shè)計(jì)中所用到的技術(shù)、開(kāi)發(fā)思想,以及android平臺(tái)的簡(jiǎn)介,通過(guò)清晰的程序流程圖,給程序的理解提供了方向。還介紹了程序調(diào)試軟件和硬件調(diào)試軟件,最后對(duì)本設(shè)計(jì)的軟件做了一個(gè)概述。1.2 國(guó)內(nèi)外研究現(xiàn)狀圖片管理軟件顧名思義,則是用戶用于管理圖片的軟件。目前國(guó)內(nèi)外電子相冊(cè)繁多,不同的軟件,圖片管理方式都會(huì)有不同。隨著數(shù)碼相機(jī)在家庭中越來(lái)越普及,人們?cè)诳梢愿奖愕呐臄z照片卻又不需要把拍攝的照片都沖印的時(shí)候,更多就選擇了打包保存在電腦或光盤中,圖片管理軟件就在這一過(guò)程中充當(dāng)了非常重要的作用。通過(guò)圖片管理軟件,我們的照片可以更加動(dòng)態(tài)、更加多姿多彩的
6、展現(xiàn),通過(guò)電子相冊(cè)制作軟件的打包,相片可以更方便的以一個(gè)整體分發(fā)給親朋好友,刻錄在光盤上保存,或在影碟機(jī)上播放。 COOZINE (XBOOKSKY)COOZINE 基于 Flash 技術(shù),是實(shí)現(xiàn)在線和離線、電子圖書的核心,它應(yīng)用在需要從 PDF 文件或 JPEG 文件源制作的電子雜志的情況,它同時(shí)提供一些協(xié)助處理工具軟件,方便批量的處理,而且?guī)椭臋n較詳細(xì),還提供了演示下載包,可以稍作修改即可。COOZINE 與目前的幾類電子雜志軟件不同,它把閱讀以及低成本批量制作作為首要追求目標(biāo)。 每一本 COOZINE 電子雜志(電子圖書)由 COOZINE、JPEG 圖片和 XML 文件 3 部分組成
7、。 Portable Scribus 1.3.5.0Portable Scribus是一款類似Adobe Pagemaker的開(kāi)源圖片管理制作軟件,可以用來(lái)制作個(gè)人文件、郵件列表、電子雜志類型的電子文檔。它體積很小,可以放在U盤里,只需插入相應(yīng)的電腦就可以使用。 Premiere軟件特點(diǎn):premiere是一款專業(yè)級(jí)具有高級(jí)的編輯功能的圖片管理制作軟件,對(duì)于專業(yè)用戶,它可以通過(guò)不斷增加插件,和用戶的專業(yè)水平進(jìn)行復(fù)雜的編輯,制作出專業(yè)的絢麗相冊(cè),但由于面向?qū)I(yè)用戶,軟件的操作十分復(fù)雜,上手時(shí)間很長(zhǎng),非專業(yè)用戶使用有非常大的難度。1.3本文的主要工作Android圖片管理系統(tǒng)有效地解決了大量圖片管
8、理問(wèn)題,系統(tǒng)開(kāi)發(fā)時(shí)分為前端頁(yè)面設(shè)計(jì)開(kāi)發(fā)和后臺(tái)業(yè)務(wù)實(shí)現(xiàn)開(kāi)發(fā)。 本文開(kāi)頭首先對(duì)圖片管理軟件的研究背景做了簡(jiǎn)單介紹,其次簡(jiǎn)述了現(xiàn)今流行的幾個(gè)手機(jī)開(kāi)發(fā)平臺(tái),詳細(xì)介紹了Android開(kāi)發(fā)平臺(tái)的架構(gòu),并描述了Android開(kāi)發(fā)環(huán)境的搭建過(guò)程;接下來(lái)是對(duì)系統(tǒng)設(shè)計(jì)的介紹,本文從對(duì)圖片管理器功能模塊的分析,到android系統(tǒng)服務(wù)的調(diào)用的設(shè)計(jì),再到系統(tǒng)客戶端的實(shí)現(xiàn)都做了詳細(xì)的解說(shuō),并把有些細(xì)節(jié)和技術(shù)提出來(lái)做單一的解說(shuō);緊接著本文描述了此客戶端的圖片管理軟件的測(cè)試過(guò)程和此系統(tǒng)特色功能。本設(shè)計(jì)完成后,能夠?qū)崿F(xiàn)以下功能:圖片的瀏覽、圖片屬性的修改、圖片的增刪改等具體操作。1.4 本文的組織結(jié)構(gòu)第二章 需求分析,首先描
9、述圖片管理系統(tǒng)的總體業(yè)務(wù)流程,然后介紹該圖片管理器的設(shè)計(jì)目的和解決的用戶實(shí)際使用面臨問(wèn)題。最后將軟件需求分為軟件功能性與非功能性需求進(jìn)行匯總。第三章 系統(tǒng)概要設(shè)計(jì),主要是基于android系統(tǒng)架構(gòu)與MVC軟件架構(gòu)進(jìn)行設(shè)計(jì)。概要設(shè)計(jì)包括物理層設(shè)計(jì)與邏輯架構(gòu)層的設(shè)計(jì)。第四章 系統(tǒng)詳細(xì)設(shè)計(jì),本章主要進(jìn)行系統(tǒng)建模設(shè)計(jì)。在系統(tǒng)建模部分,從靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)結(jié)構(gòu)兩個(gè)方面討論了系統(tǒng)建模的設(shè)計(jì)。第五章 系統(tǒng)的實(shí)現(xiàn)與測(cè)試,首先對(duì)圖片管理器基本操作如何實(shí)現(xiàn)進(jìn)行描述,并通過(guò)系統(tǒng)代碼截圖和軟件功能截圖進(jìn)一步說(shuō)明。在本章的最后又對(duì)系統(tǒng)的測(cè)試情況進(jìn)行了說(shuō)明。第2章 需求分析2.1總體業(yè)務(wù)描述本章需求分析為了下文的詳細(xì)設(shè)計(jì)和系
10、統(tǒng)實(shí)現(xiàn)想打下基礎(chǔ),旨在于提高軟件開(kāi)發(fā)過(guò)程中的能見(jiàn)度,便于對(duì)軟件開(kāi)發(fā)過(guò)程中的控制與管理,同時(shí)提出了本軟件開(kāi)發(fā)過(guò)程,便于開(kāi)發(fā)人員與客戶之間的交流、協(xié)作,并作為工作成果的原始依據(jù),同時(shí)也表明了本軟件的共性,以期能夠獲得更大范圍的應(yīng)用。在android系統(tǒng)在手機(jī)平臺(tái)風(fēng)靡的同時(shí),圖片管理器在系統(tǒng)中越來(lái)越普及,人們通過(guò)圖片管理軟件對(duì)圖片進(jìn)行圖片管理,既方便了用戶,又為傳統(tǒng)圖片管理帶來(lái)了革新的契機(jī)?,F(xiàn)今android操作系統(tǒng)逐漸成熟,尤其是伴隨著各大手機(jī)廠商如三星(Samsung),多普達(dá)(HTC)出款的多款android手機(jī)大熱。人們不僅要求采用手機(jī)連接PC進(jìn)行圖片管理,更加盼望在手機(jī)操作系統(tǒng)上實(shí)現(xiàn)快捷方
11、便的圖片管理。隨之帶來(lái)的是android手機(jī)給功能強(qiáng)大,使用簡(jiǎn)單快捷,擁有良好操作界面的手機(jī)圖片管理系統(tǒng)的具體需求。系統(tǒng)基于android系統(tǒng)進(jìn)行二次開(kāi)發(fā),考慮到android的基于Linux本質(zhì),開(kāi)發(fā)語(yǔ)言選擇使用成熟的高級(jí)語(yǔ)言Java。在pc端windows平臺(tái)下使用Android SDK自帶移動(dòng)模擬器開(kāi)發(fā)調(diào)試,生成軟件包,在手機(jī)端安裝apk來(lái)達(dá)到最終系統(tǒng)運(yùn)行的目標(biāo)。利用eclipse開(kāi)發(fā)的android應(yīng)用程序,能夠與安裝有android操作系統(tǒng)的手機(jī)硬件相聯(lián)系,快速便捷的訪問(wèn)手機(jī)SD卡和本機(jī)內(nèi)存中各個(gè)類型圖片。有條理的將手機(jī)圖片與系統(tǒng)中劃分的圖片類型集合相對(duì)應(yīng),比如系統(tǒng)中分為圖片集合,音
12、樂(lè)集合等,通過(guò)窗口集合的方式顯示各個(gè)對(duì)象和不同類型圖片的對(duì)應(yīng)關(guān)系。系統(tǒng)層次清楚,模塊獨(dú)立。根據(jù)軟件低耦合的指導(dǎo)思想,將系統(tǒng)分為界面層,數(shù)據(jù)層,存儲(chǔ)層等。采用此軟件架構(gòu),滿足了用戶的同時(shí)訪問(wèn)和android系統(tǒng)并發(fā)調(diào)用。能夠支持多種圖片格式,可是標(biāo)準(zhǔn)主流常見(jiàn)的圖片格式,也可以滿足特定格式需求。系統(tǒng)留有軟件識(shí)別的圖片格式的接口,能夠能夠方便的增加在開(kāi)始之后確定的圖片格式和特殊需求。系統(tǒng)具有能有完美調(diào)用android服務(wù)的接口,支持在使用開(kāi)發(fā)過(guò)程中新需求帶來(lái)的處理新對(duì)象所對(duì)應(yīng)的android服務(wù)。數(shù)據(jù)的流向具有雙向性。軟件將本機(jī)或sd卡的圖片數(shù)據(jù)進(jìn)行處理,匯總之后上床到界面端,呈現(xiàn)在用戶面前。軟件將
13、用戶操作具體實(shí)現(xiàn)到本機(jī)或sd卡中,根據(jù)用戶操作進(jìn)行圖片的更新,良好快速實(shí)現(xiàn)上層軟件對(duì)底層硬件設(shè)備的數(shù)據(jù)管理。2.2系統(tǒng)目標(biāo)和需要解決的問(wèn)題隨著信息的高速發(fā)展手機(jī)已變的越來(lái)越普及尤其是智能手機(jī),基于Android操作系統(tǒng)的手機(jī)就是在這樣的趨勢(shì)下逐漸一步步的走入我們的生活,因此,我們選擇這樣的研究課題最主要的一點(diǎn)是看在它的潛在市場(chǎng)價(jià)值,通過(guò)開(kāi)發(fā)基于Android的圖片瀏覽器,能給廣大Android用戶提供一個(gè)安全的,功能強(qiáng)大的,易于操作的,便于管理的高性能管理器。安卓手機(jī)基本都會(huì)去安裝圖片瀏覽器,尤其是ES圖片管理器、RE圖片管理器、安卓?jī)?yōu)化大師用的最為常見(jiàn),根據(jù)需求分析可見(jiàn),用戶將通常對(duì)圖片管理
14、的要求就是美觀度、操作性、功能是否全面。系統(tǒng)需要解決的問(wèn)題主要包括:2.圖片管理中各個(gè)方面的功能不同,需要在滿足1.圖片管理的主要使用者是廣大手機(jī)用戶,手機(jī)用戶不同的需求多而各式各樣,軟件怎樣提供最為方便,最能提供有效服務(wù),最能滿足大量用戶共同需求的功能?需求的同時(shí),對(duì)需求進(jìn)行具體分析。圖片管理業(yè)務(wù)流程復(fù)雜,需要在android系統(tǒng)的基礎(chǔ)上,完成在sd卡和本機(jī)圖片管理,系統(tǒng)如何在處理用戶圖片操作的同時(shí),實(shí)現(xiàn)與系統(tǒng)的兼容和交互,又能體現(xiàn)出軟件的特色和功能。3.與手機(jī)系統(tǒng)交互時(shí),獲取的圖片信息復(fù)雜且沒(méi)有分類,同時(shí)用戶的操作也是不盡相同。隨著用戶使用手機(jī)的變長(zhǎng),圖片的數(shù)量和類型伴隨著增多,手機(jī)存儲(chǔ)容
15、量進(jìn)一步減少,需要對(duì)圖片進(jìn)行實(shí)時(shí)的管理,將大量圖片的實(shí)時(shí)信息上傳到UI界面。4.最大程度的減少用戶誤操作和實(shí)現(xiàn)對(duì)系統(tǒng)關(guān)鍵圖片的保護(hù),在管理過(guò)程中如何做到軟件的可靠運(yùn)行,操作的安全和圖片的完整,并且需要對(duì)管理進(jìn)行記錄,來(lái)達(dá)到圖片的恢復(fù)。5.軟件的UI端作為大量圖片的顯示端,匯總較多數(shù)量和不同類型的圖片,如何叫系統(tǒng)以最快的速度對(duì)數(shù)據(jù)進(jìn)行有效整合,并且以簡(jiǎn)單明了的圖形化和樹(shù)狀結(jié)構(gòu)顯示在UI。6.系統(tǒng)采用統(tǒng)一管理方式,即在應(yīng)用程序列表中會(huì)顯示系統(tǒng)中全部軟件信息。其中系統(tǒng)必須組件和用戶自行安裝軟件相互混雜,一般用戶很難講其中的軟件區(qū)分開(kāi)來(lái),這就對(duì)用戶的軟件管理帶來(lái)不便。本系統(tǒng)的開(kāi)發(fā)就是為了解決以上這個(gè)問(wèn)
16、題。本系統(tǒng)的設(shè)計(jì)是專門針對(duì)Android設(shè)備用戶的日常軟件,具體提出以下實(shí)現(xiàn)目標(biāo):1.大量圖片或者圖片夾的基本操作,比如復(fù)制、粘貼、剪切、新建圖片夾、刪除等典型操作 2.支持多標(biāo)簽頁(yè)改變圖片列表或者圖標(biāo)的顯示方式。3.支持圖片拖延功能圖片或者圖片夾多選功能。4.添加APK的Android安裝包管理,包含軟件安裝,卸載,備份,查看詳細(xì)信息等5.收藏夾功能類似于書簽,可以創(chuàng)建多個(gè)庫(kù)并把圖片添加到庫(kù)里面,方便對(duì)圖片進(jìn)行管理和分類。 6.在界面和操作上有很獨(dú)到而人性化的設(shè)計(jì)。界面簡(jiǎn)潔精美,功能強(qiáng)大全面,智能的圖片分類瀏覽,獨(dú)有的網(wǎng)格化界面瀏覽設(shè)計(jì)讓用戶在手機(jī)上體驗(yàn)到PC一樣的方便性。7.讓用戶在手機(jī)本
17、地圖片和sd卡圖片管理之間實(shí)現(xiàn)最平滑的操作體驗(yàn)。8.在root權(quán)限下,使用比系統(tǒng)自帶管理器更容易,界面和操作流程更加優(yōu)秀。在統(tǒng)一瀏覽屏幕下,瀏覽、傳輸、復(fù)制、剪切、刪除、重命名圖片和圖片夾等圖片操作比較快速。2.3系統(tǒng)需求分析需求分析目的是規(guī)范化本軟件的編寫,旨在于提高軟件開(kāi)發(fā)過(guò)程中的能見(jiàn)度,便于對(duì)軟件開(kāi)發(fā)過(guò)程中的控制與管理,同時(shí)提出了本軟件開(kāi)發(fā)過(guò)程,便于開(kāi)發(fā)人員與客戶之間的交流、協(xié)作,并作為工作成果的原始依據(jù),同時(shí)也表明了本軟件的共性,以期能夠獲得更大范圍的應(yīng)用。在需求分析中,需求獲取為了實(shí)現(xiàn)目標(biāo)系統(tǒng),需要大量時(shí)間和用戶溝通,研發(fā)人員搭建良好的溝通環(huán)境,和用戶高度合作。身為研發(fā)人員,必須將用
18、戶的表面需求抽象為模型,這樣才能徹底理解需求,建立良好的溝通橋梁,幫助研發(fā)人員深刻了解業(yè)務(wù)模型,并且將系統(tǒng)如何幫助用戶簡(jiǎn)化操作,提高圖片管理水平,帶來(lái)方便。本文所開(kāi)發(fā)的基于android的圖片管理系統(tǒng)是一款安裝在主流android手機(jī)上,集圖片分類,圖片管理,權(quán)限獲取,圖片統(tǒng)計(jì)于一體。通過(guò)android開(kāi)源的優(yōu)勢(shì),保證軟件能夠識(shí)別外接存儲(chǔ)卡和本機(jī)內(nèi)存;同時(shí),手機(jī)軟件的特殊性需要圖片管理系統(tǒng)采取一定的安全機(jī)制,保護(hù)用戶的隱私。本軟件能為用戶提供最基本的圖片瀏覽,相關(guān)圖片調(diào)用:例如圖片相關(guān)路徑的設(shè)置、路徑的更改,可以最大限度的體現(xiàn)圖片瀏覽器的最基本的功能,使圖片瀏覽器的性能在目前配置下最大程度的提
19、升。Android手機(jī)用戶首先打開(kāi)軟件,進(jìn)入系統(tǒng)主界面,手機(jī)軟件請(qǐng)求獲得root權(quán)限,并初始化顯示界面,顯示各個(gè)不同類型圖片的各項(xiàng)基本信息,同時(shí)對(duì)sd卡進(jìn)行初始化,獲得sd卡具體容量信息,初始化完成后,用戶對(duì)圖片進(jìn)行諸如查看,移動(dòng),刪除等基本操作,在此基本操作功能上,系統(tǒng)調(diào)用各個(gè)軟件對(duì)不同圖片進(jìn)行不同調(diào)用,如打開(kāi)圖片,瀏覽圖片等。用戶在使用完上述圖片管理功能之后,用戶退出軟件,系統(tǒng)釋放掉占用的root權(quán)限。系統(tǒng)整體流程如圖1-1所示:圖2-1 Android圖片管理系統(tǒng)整體流程圖Figure 2-1 Android file management overall system flow cha
20、rt1.圖片分類基于用戶對(duì)圖片方便的具體需求,系統(tǒng)對(duì)圖片進(jìn)行分類,分類的標(biāo)準(zhǔn)按照android系統(tǒng)所識(shí)別的幾大圖片類型,分別按照不同的圖片類型遍歷sd卡和本機(jī)存儲(chǔ)空間,獲得此類型的圖片列表,最后在圖片瀏覽界面按照系統(tǒng)設(shè)定,以網(wǎng)格化的形式將圖片數(shù)量和類型顯示在用戶面前,通過(guò)高效率的軟件功能,在最短的時(shí)間,將大量的圖片按照合適的分類,按用戶的具體需求,向用戶提供圖片分類瀏覽,達(dá)到設(shè)計(jì)目標(biāo)。2 .圖片管理(1)需求建模研發(fā)人員通過(guò)對(duì)android系統(tǒng)的研究和對(duì)廣大用戶的需求分析進(jìn)行實(shí)際調(diào)查,與用戶深入交流,根據(jù)多方面獲得的需求信息建立諸如用例圖,時(shí)序圖,流程圖等模型,與用戶需求建立可視化的橋梁,將信
21、息雙向透明的展現(xiàn)在用戶和研發(fā)人員之間。需求建模對(duì)軟件開(kāi)發(fā)起到的全局性的促進(jìn)作用,針對(duì)本文所研發(fā)的基于android的圖片管理系統(tǒng),需求分析在軟件生命周期中占有非常重要的位置。本文從系統(tǒng)的功能性需求和非功能性需求兩方面進(jìn)行分析。(1)系統(tǒng)功能性需求 1)系統(tǒng)總體功能分析在需求過(guò)程中,調(diào)研人員采用用例圖描述系統(tǒng)的各個(gè)單元模塊,通過(guò)對(duì)圖片管理軟件的參與者和用例之間的關(guān)系描述,將系統(tǒng)的靜態(tài)結(jié)構(gòu)以可視化的方式提供給研發(fā)人員作為參考。圖片分類運(yùn)行在android操作系統(tǒng)中,圖片管理軟件調(diào)用權(quán)限獲取模塊申請(qǐng)獲取root權(quán)限,為用戶提供圖片管理的基礎(chǔ)。圖片管理系統(tǒng)獲取權(quán)限的同時(shí),調(diào)用生成列表模塊遍歷手機(jī)內(nèi)存和
22、SD卡中圖片,生成列表。在生成列表的基礎(chǔ)上,軟件對(duì)圖片進(jìn)行分類,調(diào)用界面模塊,將圖片展示在軟件前端。用戶在軟件的前端顯示基礎(chǔ)上,查看圖片,選擇需要操作的圖片,對(duì)圖片進(jìn)行查看,刪除,重命名和圖片拖拽操作。系統(tǒng)總體用例圖和流程圖如下:圖 2-2 Android圖片管理系統(tǒng)總體用例圖Figure 2-2 Android file management system general use case diagram2)圖片分類管理進(jìn)入圖片分類的首頁(yè)面,系統(tǒng)可以瀏覽系統(tǒng)所劃分的類型下的所有圖片,不同的圖片類型展示不同的圖片圖標(biāo),如果是常用的圖片類型,則展示相應(yīng)的圖片或者圖標(biāo)。分別列出了當(dāng)前類別和屬于該類
23、別的圖片數(shù)量(比如手機(jī)中所有音樂(lè),視頻之類的圖片數(shù)量),當(dāng)系統(tǒng)點(diǎn)擊其中一個(gè)類別的時(shí)候 ,會(huì)在第2個(gè)頁(yè)面展示當(dāng)前頁(yè)面的信息。系統(tǒng)所劃分的圖片類型有音樂(lè),視頻,圖片,軟件,文本圖片,壓縮包等,另外,根據(jù)用戶的特殊需求,圖片分類提供收藏分類界面,為用戶提供圖片收藏功能,方便用戶查找。系統(tǒng)具體用例圖如下圖:圖 2-3 Android圖片分類用例圖Figure 2-3 Android file management general use case diagram3)圖片管理系統(tǒng)可以選擇復(fù)制,移動(dòng),刪除,重命名,收藏這些操作,當(dāng)系統(tǒng)選擇一個(gè)條目并執(zhí)行如圖的操作的時(shí)候它的名字就會(huì)變成藍(lán)色,出現(xiàn)晃動(dòng)提示。當(dāng)
24、系統(tǒng)選擇移動(dòng)或者復(fù)制的時(shí)候,這時(shí)系統(tǒng)可以選擇圖片夾,點(diǎn)擊確定按鈕進(jìn)行復(fù)制,移動(dòng)操作.在圖片管理的過(guò)程中同時(shí)伴有著界面切換,開(kāi)機(jī)自啟動(dòng)功能,圖標(biāo)常駐通知欄等具體用例。具體用例圖如下:圖 2-3 Android圖片管理用例圖Figure 2-3 Android file management general use case diagram圖片管理過(guò)程中,需要注意的是用戶權(quán)限的獲取,為保護(hù)系統(tǒng)核心圖片,在未獲得root權(quán)限的情況下,不允許對(duì)圖片進(jìn)行操作,具體流程如下圖:(2)系統(tǒng)非功能性需求 Android圖片管理系統(tǒng)面向用戶功能明確,并且由于是基于android系統(tǒng)手機(jī)嵌入式軟件,所以滿足圖片管
25、理主要功能的同時(shí),還需要滿足一些非功能性需求。非功能性需求在以往的軟件開(kāi)發(fā)中經(jīng)常被研發(fā)人員忽視,導(dǎo)致非功能性需求得不到保障,進(jìn)而致使保障不了功能性需求的定義和實(shí)現(xiàn)。為了更好的實(shí)現(xiàn)圖片管理系統(tǒng)的帶給用戶的價(jià)值,基于提高軟件質(zhì)量和遵守Android軟件設(shè)計(jì)的主流標(biāo)準(zhǔn)和規(guī)范的考慮,圖片管理系統(tǒng)非功能性需求有以下幾個(gè)方面:1.界面設(shè)計(jì)需求:此處的界面設(shè)計(jì)需求不同于詳細(xì)的界面的設(shè)計(jì),主要體現(xiàn)的是用戶在手機(jī)上使用圖片管理軟件的體驗(yàn)感覺(jué)。作為手機(jī)應(yīng)用,應(yīng)該注重軟件界面設(shè)計(jì)的美觀,簡(jiǎn)單,大方。由于圖片類型的較多,不同圖片類型模塊間的切換要求平滑實(shí)現(xiàn)。界面主題顏色采用醒目亮色。調(diào)用android操作系統(tǒng)的控件時(shí)
26、充分考慮系統(tǒng)對(duì)控件的支持是否良好和使用范圍是否超出軟件需求。2.執(zhí)行需求:執(zhí)行需求要充分考慮當(dāng)前主流手機(jī)的硬件配置,要求圖片管理軟件精確完成圖片操作和完成功能時(shí)間在用戶可接受的范圍之內(nèi)。軟件在響應(yīng)用戶的圖片操作時(shí),對(duì)初始化界面顯示圖片列表的速度,完成諸如圖片移動(dòng),刪除,重命名等操作的精確性,完成操作后更新列表的時(shí)間,驗(yàn)證root權(quán)限的準(zhǔn)確度等。3.易用性需求:在滿足用戶功能的需求的同時(shí),軟件最終提供給用戶的功能的調(diào)用要符合用戶使用手機(jī)軟件的習(xí)慣操作和對(duì)軟件的前期期望值。系統(tǒng)需求分析中心圍繞的用戶的使用習(xí)慣展開(kāi),細(xì)分用戶習(xí)慣和需求,和軟件應(yīng)用功能相結(jié)合,最終達(dá)到用戶可以更快的操作軟件。4.適應(yīng)性
27、需求:適應(yīng)性需求主要包括圖片管理軟件對(duì)手機(jī)軟件環(huán)境和硬件環(huán)境的適應(yīng)。系統(tǒng)適應(yīng)的軟件環(huán)境主要是適應(yīng)手機(jī)android操作系統(tǒng),軟件適合于android 1.0以上的所有版本的系統(tǒng),可以調(diào)用android相應(yīng)的服務(wù)和android自帶的控件;系統(tǒng)適應(yīng)的硬件環(huán)境主要是識(shí)別手機(jī)內(nèi)存和自帶的SD卡,軟件安裝后占有極少的手機(jī)空間前提下,提供完整的圖片管理功能。5.擴(kuò)展性需求:系統(tǒng)采用開(kāi)源代碼java,基于android系統(tǒng)開(kāi)源的特性,在現(xiàn)有的成熟的軟件框架之下,可以調(diào)用系統(tǒng)留有的二次接口進(jìn)行后續(xù)的軟件功能擴(kuò)展,定期維護(hù)和系統(tǒng)升級(jí)6.安全性需求:系統(tǒng)面對(duì)的手機(jī)圖片含有大量私人重要信息,如自拍圖片,系統(tǒng)截圖等
28、,同時(shí),用戶可以查看系統(tǒng)圖片,若用戶對(duì)個(gè)人重要圖片和系統(tǒng)關(guān)鍵圖片進(jìn)行了不當(dāng)誤操作,后果不堪設(shè)想。為此,針對(duì)系統(tǒng)關(guān)鍵圖片誤操作,系統(tǒng)提供了關(guān)鍵性圖片保護(hù)功能,對(duì)系統(tǒng)圖片采取驗(yàn)證root權(quán)限的驗(yàn)證,針對(duì)個(gè)人重要信息圖片,系統(tǒng)應(yīng)當(dāng)提供提示框的方式提示用戶,并考慮采用支持可恢復(fù)性處理??傊?,在注重功能實(shí)現(xiàn)的同時(shí),將軟件功能面向的圖片對(duì)象有條件的限制在特定圖片范圍之內(nèi)。第3章 系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)概要設(shè)計(jì)根據(jù)長(zhǎng)期軟件開(kāi)發(fā)經(jīng)驗(yàn),軟件架構(gòu)是手機(jī)軟件系統(tǒng)開(kāi)發(fā)面臨的主要矛盾,基于成熟的軟件架構(gòu),才能設(shè)計(jì)出優(yōu)秀的手機(jī)系統(tǒng)。良好的軟件架構(gòu)能夠有力的支持和促進(jìn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),主要包括組織設(shè)計(jì)模塊,定義手機(jī)系統(tǒng)的與底
29、層android庫(kù)的接口,模塊之間的調(diào)用和協(xié)作,主系統(tǒng)涵蓋的各個(gè)子系統(tǒng)模塊的組成,當(dāng)前系統(tǒng)架構(gòu)風(fēng)格和用戶具體界面需求等方面。信息交互。系統(tǒng)詳細(xì)設(shè)計(jì)兩個(gè)具體模塊:手機(jī)客戶端軟件系統(tǒng)針對(duì)手機(jī)用戶的需求特點(diǎn),采用了android手機(jī)客戶端技術(shù),使用基于MVC的多層架構(gòu)設(shè)計(jì),加以圖形化界面調(diào)用android系統(tǒng)庫(kù)中插件,為方便用戶不定期的對(duì)圖片進(jìn)行管理,系統(tǒng)軟件運(yùn)行在手機(jī)的android平臺(tái)上??蛻舳藞D片管理軟件采用動(dòng)態(tài)刷新,使用android系統(tǒng)多線程技術(shù),實(shí)現(xiàn)對(duì)不同類型不同位置的所有圖片的管理,根據(jù)上一章節(jié)的功能性和非功能性需求分析可知,系統(tǒng)需要將圖片的類型,圖片數(shù)量等信息匯總到前端界面顯示的同時(shí)
30、,還需要對(duì)手機(jī)存儲(chǔ)空間中的圖片進(jìn)行遍歷更新。系統(tǒng)設(shè)計(jì)成兩大核心模塊:圖片分類模塊和圖片管理模塊。軟件架構(gòu)針對(duì)用戶的具體需求和系統(tǒng)面向的圖片管理,采用面向?qū)ο蟮木幊趟枷?,參考基于JAVA的MVC各個(gè)層次架構(gòu)特點(diǎn),調(diào)用android系統(tǒng)庫(kù)和控件,來(lái)完成系統(tǒng)主要功能。系統(tǒng)的層次的特點(diǎn)是以手機(jī)存儲(chǔ)空間內(nèi)的圖片集合為核心,根據(jù)用戶,將不同的功能劃分為多個(gè)模塊。圖片分類模塊采用設(shè)計(jì)的前端界面進(jìn)行區(qū)分式顯示,體現(xiàn)不同的業(yè)務(wù)模型。圖片管理模塊調(diào)用控件和服務(wù),對(duì)圖片進(jìn)行相應(yīng)的操作。3.1.1系統(tǒng)物理架構(gòu)設(shè)計(jì)系統(tǒng)的物理架構(gòu)基于android手機(jī)存儲(chǔ)設(shè)備,核心圍繞手機(jī)存儲(chǔ)設(shè)備上的各類圖片展開(kāi),為手機(jī)用戶提供具體的圖
31、片管理功能。用戶通過(guò)基于android的客戶端架構(gòu),使用系統(tǒng)訪問(wèn)手機(jī)存儲(chǔ)設(shè)備,手機(jī)用戶,用戶使用軟件相應(yīng)功能對(duì)圖片進(jìn)行操作,通過(guò)android操作系統(tǒng)服務(wù)與內(nèi)存和SD卡上圖片進(jìn)行交互。圖片管理系統(tǒng)物理拓?fù)浣Y(jié)構(gòu)如下圖所示所示:圖 3-1 圖片管理系統(tǒng)物理拓?fù)浣Y(jié)構(gòu)圖Figure 3-1 File management system map for physical topology structure圖片管理系統(tǒng)設(shè)計(jì)時(shí)采用了基于android系統(tǒng)開(kāi)源的性質(zhì),只要滿足系統(tǒng)識(shí)別圖片的范疇,用戶在不同的android手機(jī)上都可以使用,同時(shí),google公司開(kāi)放了底層系統(tǒng)庫(kù),系統(tǒng)可以以程序接口的方式實(shí)現(xiàn)良
32、好調(diào)用,所以圖片管理系統(tǒng)設(shè)計(jì)平臺(tái)采用了android操作系統(tǒng)。3.1.2系統(tǒng)邏輯架構(gòu)設(shè)計(jì)分層是軟件設(shè)計(jì)中非常重要的思想,特別是面對(duì)較大的軟件系統(tǒng)。分而治之是計(jì)算機(jī)中經(jīng)常采用的一種方法。因此按照軟件工程分層考慮的理論,我們對(duì)此系統(tǒng)進(jìn)行分層設(shè)計(jì)。天元物聯(lián)路燈管理系統(tǒng)按照MVC的設(shè)計(jì)模式將系統(tǒng)劃分為界面層、業(yè)務(wù)層、協(xié)議層、數(shù)據(jù)庫(kù)層四個(gè)層次。此系統(tǒng)采用模塊化設(shè)計(jì),方便其他開(kāi)發(fā)語(yǔ)言的綁定。在系統(tǒng)結(jié)構(gòu)中,每個(gè)邏輯層向上層提供程序接口,供給上層調(diào)用完成相應(yīng)功能。系統(tǒng)邏輯結(jié)構(gòu)如圖3-2所示:面對(duì)數(shù)據(jù)處理量較大,設(shè)計(jì)規(guī)模較大的軟件系統(tǒng),軟件層次清晰是基本要求。軟件架構(gòu)分層是系統(tǒng)設(shè)計(jì)中廣泛采用的方法。為了實(shí)現(xiàn)軟件
33、層次清晰的要求,對(duì)圖片管理系統(tǒng)的各個(gè)模塊劃分層次。按照MVC模式開(kāi)發(fā)應(yīng)用層的手機(jī)程序分為界面層,業(yè)務(wù)層,服務(wù)層,通過(guò)組件的重用降低模塊之間的耦合,圖片管理系統(tǒng)的邏輯結(jié)構(gòu)如下圖所示:圖 3-2 圖片管理系統(tǒng)邏輯結(jié)構(gòu)Figure 2-2 File management system logic structure1、界面層界面層實(shí)現(xiàn)圖片管理系統(tǒng)的前端顯示,包括圖片瀏覽界面,圖片管理界面。界面層為軟件使用者提供與手機(jī)交互的用戶界面,界面層與用戶的交互最為直接,能夠引導(dǎo)用戶自己完成圖片管理的相應(yīng)的操作。圖片管理系統(tǒng)界面層顯示功能采用多窗體九宮格的顯示框架,android系統(tǒng)的自帶控件,xml配置文件等
34、生成界面。2、業(yè)務(wù)層業(yè)務(wù)層在架構(gòu)中體現(xiàn)系統(tǒng)核心價(jià)值,主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實(shí)現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計(jì),將軟件模塊抽象成對(duì)數(shù)據(jù)進(jìn)行處理的組件。基于需求分析獲得的主要功能性需求,將系統(tǒng)業(yè)務(wù)邏輯分為軟件分類模塊,軟件管理模塊。為實(shí)現(xiàn)層次的弱耦合結(jié)構(gòu),業(yè)務(wù)層在界面層和數(shù)據(jù)層之間起到承上啟下的作用,軟件分類和軟件管理等業(yè)務(wù)模塊通過(guò)調(diào)用android系統(tǒng)服務(wù)和系統(tǒng)庫(kù)對(duì)數(shù)據(jù)層(在本系統(tǒng)中對(duì)應(yīng)文件層)進(jìn)行訪問(wèn),完成圖片分類和圖片管理的各種業(yè)務(wù)邏輯,滿足需求分析中的所獲取的具體功能需求。圖片分類模塊在界面層下發(fā)的數(shù)據(jù)基礎(chǔ)上,采集數(shù)據(jù)層的數(shù)據(jù)并做相應(yīng)的處理,功能實(shí)現(xiàn)之后,上傳到界面層前端UI予以
35、顯示。圖片管理模塊實(shí)現(xiàn)圖片管理的具體的功能之后,將操作體現(xiàn)到到圖片層,通過(guò)調(diào)用android系統(tǒng)服務(wù)和系統(tǒng)庫(kù)與數(shù)據(jù)層進(jìn)行交互,數(shù)據(jù)層對(duì)圖片層各種數(shù)據(jù)進(jìn)行更新。業(yè)務(wù)邏輯層在體系架構(gòu)中的位置很關(guān)鍵,對(duì)于數(shù)據(jù)訪問(wèn)層而言,它是調(diào)用者;對(duì)于表示層而言,它卻是被調(diào)用者。在相同android系統(tǒng)服務(wù)和系統(tǒng)庫(kù)以及面向的存儲(chǔ)設(shè)備上的手機(jī)圖片大相徑庭的基礎(chǔ)上,業(yè)務(wù)層的不同的設(shè)計(jì)與實(shí)現(xiàn)可能會(huì)導(dǎo)致形成不同的圖片管理系統(tǒng),換言之,各種圖片管理系統(tǒng)之間的差別就體現(xiàn)在業(yè)務(wù)層的設(shè)計(jì)與實(shí)現(xiàn)的差別,因此系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)的關(guān)鍵體現(xiàn)在業(yè)務(wù)層的設(shè)計(jì)與實(shí)現(xiàn)。3、android系統(tǒng)服務(wù)和系統(tǒng)庫(kù)android系統(tǒng)庫(kù)是google專門開(kāi)發(fā)設(shè)計(jì)
36、的一套成熟庫(kù),為支持java,完善系統(tǒng)的開(kāi)源性,以android服務(wù)為基礎(chǔ),構(gòu)建可以多次復(fù)用的圖片管理業(yè)務(wù),減少重復(fù)開(kāi)發(fā),將軟件開(kāi)發(fā)的中心從圖片管理功能實(shí)現(xiàn)的細(xì)節(jié)轉(zhuǎn)移到擴(kuò)展系統(tǒng)庫(kù)的支持,在android系統(tǒng)服務(wù)的支持下,android系統(tǒng)庫(kù)的引入大幅度提到軟件設(shè)計(jì)和實(shí)現(xiàn)的效率。圖片管理系統(tǒng)所使用的android系統(tǒng)庫(kù)結(jié)構(gòu)如下圖所示:圖 3-3 Android系統(tǒng)庫(kù)結(jié)構(gòu)圖Figure 3-3 Android system library structure diagram4、文件層文件層也就是數(shù)據(jù)層,文件系統(tǒng)將數(shù)據(jù)存儲(chǔ)在硬件上,系統(tǒng)內(nèi)核通過(guò)驅(qū)動(dòng)將其物理地址映射到/dev目錄下拉,使得硬件可以像訪
37、問(wèn)文件一樣進(jìn)行使用。物理地址可以像訪問(wèn)文件一樣進(jìn)行使用。物理地址通過(guò)通過(guò)映射之后將快設(shè)備掛載至目錄就可以供業(yè)務(wù)邏輯層各個(gè)模塊訪問(wèn)操作。第4章 系統(tǒng)詳細(xì)設(shè)計(jì)系統(tǒng)詳細(xì)設(shè)計(jì)在需求分析和系統(tǒng)概要設(shè)計(jì)完成的基礎(chǔ)上,完成各個(gè)業(yè)務(wù)邏輯的設(shè)計(jì),為了下一章的系統(tǒng)實(shí)現(xiàn)打好基礎(chǔ)。本章根據(jù)系統(tǒng)層次劃分,將從界面設(shè)計(jì)、圖片管理模塊設(shè)計(jì)、圖片分類模塊設(shè)計(jì)等方面,其中系統(tǒng)主要功能模塊主要位于業(yè)務(wù)邏輯層,通過(guò)界面層完成圖片瀏覽,通過(guò)業(yè)務(wù)層實(shí)現(xiàn)圖片操作。本章將結(jié)合android系統(tǒng)的特點(diǎn)及java相關(guān)技術(shù),實(shí)現(xiàn)圖片管理器中各個(gè)java功能類設(shè)計(jì),不同模塊之間的訪問(wèn),圖片分類和管理的實(shí)現(xiàn)以及管理圖片前端界面層顯示信息的實(shí)現(xiàn)。我們
38、將各個(gè)功能模塊進(jìn)一步劃分,劃分的功能模塊與各個(gè)子系統(tǒng)功能詳細(xì)設(shè)計(jì)說(shuō)明如下:4.1界面詳細(xì)設(shè)計(jì)1、 系統(tǒng)總體包圖在圖片管理系統(tǒng)開(kāi)發(fā)中,包圖用來(lái)表述功能組命名空間的組織層次。圖片管理系統(tǒng)的業(yè)務(wù)層包由res包, adapter、bean、impl、util、filemanger、ansyloader favdb 等包組成。各個(gè)包之間的依賴關(guān)系如下圖所示:圖 4-1 系統(tǒng)總體包圖Figure 4-1 The system overall package Figure在核心filemanger包基礎(chǔ)上,各個(gè)功能包實(shí)現(xiàn)具體功能,filemanger包里圖片分類和圖片管理功能包,調(diào)用adapter包匯總數(shù)據(jù)
39、,adapter包調(diào)用bean包獲得各個(gè)類型圖片的詳細(xì)信息,until包調(diào)用favdb、fileutil、impl包完成圖片的增加刪除修改等操作。圖片管理主要系統(tǒng)包信息如下表所示:系統(tǒng)包名主要功能com.tarena.filemanger主題界面Activity類匯總包c(diǎn)om.tarena.filemanger.adapter基礎(chǔ)數(shù)據(jù)適配器包c(diǎn)om.tarena.filemanger.bean應(yīng)用程序素材包c(diǎn)om.tarena.filemanger.favdb數(shù)據(jù)庫(kù)連接包c(diǎn)om.tarena.filemanger.fileutil程序操作包c(diǎn)om.tarena.filemanger.impl.
40、ansyloader圖片操作包c(diǎn)om.tarena.filemanger.util系統(tǒng)工具包圖 4-2 圖片管理主要系統(tǒng)包Figure 4-2 Document management system package4.2 Android資源設(shè)計(jì)此處所說(shuō)的資源為非編碼設(shè)計(jì)部分,以本系統(tǒng)來(lái)說(shuō),系統(tǒng)桌面特效需要使用一些動(dòng)畫來(lái)顯示,需要一些圖片來(lái)設(shè)置,提示信息需要使用一些字符串來(lái)顯示,這些常量值、布局圖片、菜單、圖片、原生圖片、動(dòng)畫、XML圖片等就可以稱為系統(tǒng)資源。圖片管理系統(tǒng)的資源圖如下圖所示圖 4-3 圖片管理系統(tǒng)的資源圖Figure 4-3 Resource map of the document
41、 management system系統(tǒng)通過(guò)調(diào)用資源編譯工具AAPT來(lái)編譯這些資源文件,資源圖片要有一定的布局和格式。其類型和目錄結(jié)構(gòu)如下表所示:目錄結(jié)構(gòu)資源類型res/anim/XML動(dòng)畫文件res/drawable位圖文件res/layout/XML布局文件res/values/各種XML資源文件Arrays.xml:XML數(shù)組文件Colors.xml: XML顏色文件Dimens.xml: XML尺寸文件Styles.xml:XML樣式文件res/xml任意的XML文件res/raw直接復(fù)制到設(shè)備上的原生文件res/menuXML菜單文件系統(tǒng)資源的使用分為在代碼中使用和在其他資源圖片中引
42、用該資源圖片。在編譯圖片管理系統(tǒng)時(shí),自動(dòng)生成一個(gè)R類,在該類中又生成了相應(yīng)的內(nèi)部類。視圖查看模塊視圖查看模塊是一個(gè)GUI界面,是直接展示給用戶觀看效果的模塊,這對(duì)用戶對(duì)界面的友好性有一定的難度,我們采用了樹(shù)形菜單的和小圖標(biāo)的圖形用戶界面,這樣的話就能很好的解決了圖形用戶界面。使圖片操作更人性化使圖片操作更快捷使圖片操作功能更完善。視圖查看模塊的xml靜態(tài)圖如下圖所示:圖 3-4 視圖查看模塊的xml靜態(tài)圖Figure 3-4 xml static diagram view View module main.xml文件為系統(tǒng)主界面配置圖,包含<RelativeLayout><V
43、iewFlipper> <LinearLayout>標(biāo)簽,實(shí)現(xiàn)各個(gè)按鈕和標(biāo)簽,文字,標(biāo)簽,圖片,界面布局的顯示,調(diào)用如上圖的各個(gè)分界面和各個(gè)控件的xml界面設(shè)計(jì)文件,其中file_explorer.xml為圖片分類模塊界面設(shè)計(jì)文件,alert_dialog.xml為圖片管理模塊界面文件設(shè)計(jì),noflie_item.xml為圖片查找界面設(shè)計(jì)文件, app_item.xml 為圖片操作提醒界面設(shè)計(jì)文件。4.3 圖片分類模塊詳細(xì)設(shè)計(jì) 系統(tǒng)分類模塊為系統(tǒng)的核心模塊之一,為圖片管理提供分類支持,調(diào)用com.tarena.filemanger.CategoryAct類初始化界面,完成對(duì)所
44、有類型圖片的匯總,匯總之后進(jìn)行以網(wǎng)格化分類顯示。CategoryAct顯示具體類設(shè)計(jì)如下圖所示:圖 4-5 CategoryAct顯示具體類圖Figure 4-5 CategoryAct display specific class diagram CategoryAct類繼承了Activity父類和OnItemClickListener>接口,通過(guò)Activity父類屬性實(shí)現(xiàn)界面,通過(guò)OnItemClickListener實(shí)現(xiàn)對(duì)界面事件的監(jiān)聽(tīng)。 通過(guò)調(diào)用picture_count, sd_card_capacity_label,fav_count以及LinearLayout實(shí)體。通過(guò)調(diào)
45、用setview()函數(shù)實(shí)現(xiàn)對(duì)圖片類型和數(shù)量的匯總顯示,對(duì)每個(gè)單元的內(nèi)容以及UI格式進(jìn)行描述;通過(guò)readSDcard()函數(shù)實(shí)現(xiàn)對(duì)SD卡存儲(chǔ)容量的顯示;通過(guò)StarThreadGroup()啟動(dòng)對(duì)圖片的后臺(tái)支持。CategoryAct合作圖如下圖所示: 圖 4-6 CategoryAct合作圖Figure 4-6 CategoryAct collaboration diagram onCreat()完成前端界面和后臺(tái)服務(wù)的初始化,通過(guò)調(diào)用setView()初始化系統(tǒng)前端界面的同時(shí),調(diào)用StarThreadGroup()啟動(dòng)后臺(tái)服務(wù)支持。在setview顯示前端界面時(shí),setView()函數(shù)調(diào)
46、用readSDCard()函數(shù)獲得SD卡容量和剩余存儲(chǔ)量在圖片分類的九宮格頁(yè)面下端顯示。onCreate()函數(shù)調(diào)用圖,如下圖所示:圖 4-7 onCreate()函數(shù)調(diào)用圖Figure 4-7 onCreate()function call graph onItemClick()調(diào)用bean包下面圖片get方法獲得圖片信息,對(duì)應(yīng)界面菜單點(diǎn)擊相應(yīng)相對(duì)應(yīng)。onItemClick()函數(shù)調(diào)用圖如下圖所示:圖 4-8 onItemClick()函數(shù)調(diào)用圖Figure 4-8 onItemClick()function call graph4.4 圖片管理模塊詳細(xì)設(shè)計(jì) 圖片管理模塊為系統(tǒng)功能實(shí)現(xiàn)的核心
47、模塊,圖片管理的Activity類FileMangerAct與圖片分類模塊的CategoryAct類進(jìn)行切換,在圖片分類的基礎(chǔ)上對(duì)圖片進(jìn)行操作。FileMangerAct圖片管理類具體類設(shè)計(jì)如下圖所示:圖 4-9 FileMangerAct圖片管理類具體類Figure 4-9 FileMangerAct file management class specific class FileMangerAct首先實(shí)例化adapter,通過(guò)adapter對(duì)圖片進(jìn)行訪問(wèn),然后通過(guò)圖片工作操作類Filehelp實(shí)現(xiàn)對(duì)圖片各個(gè)操作,包含操作MENU_FAV 收藏 MENU_DELETE刪除 MENU_COP
48、Y 復(fù)制 MENU_RENNAME 重命名 MENU_MOVE 剪貼(移動(dòng)) MENU_MOREINFO 詳情 等操作,在完成操作之后通過(guò)intent消息與顯示界面交互,進(jìn)行圖片信息的刷新。文件操作具體流程圖如下圖:圖 4-10 圖片文件操作具體流程圖Figure 4-10 File operations specific flowchart 為實(shí)現(xiàn)對(duì)圖片的單獨(dú)顯示,系統(tǒng)設(shè)計(jì)了MyAdapter類,getCount () getItem (int position);getItemId (int position);getView (int position, View )實(shí)現(xiàn)對(duì)圖片數(shù)量,菜單
49、項(xiàng),菜單項(xiàng)標(biāo)號(hào)以及系統(tǒng)圖標(biāo)標(biāo)號(hào),單獨(dú)顯示;具體類圖如下圖:圖 4-11 圖片操作具體具體類圖Figure 4-11 File operations specific concrete class diagram 為實(shí)現(xiàn)圖片復(fù)制,刪除,剪切,重命名等操作,系統(tǒng)設(shè)計(jì)了Filehelper類。對(duì)不同類型的圖片設(shè)計(jì)通用的方法copyfile(),delfile(),movefile(),delfile();通過(guò)對(duì)方法的參數(shù)輸入不同完成對(duì)方法的初始化,實(shí)現(xiàn)對(duì)不同圖片的通用操作,系統(tǒng)設(shè)計(jì)類圖如下:圖 4-12 系統(tǒng)設(shè)計(jì)類圖Figure 4-12 System design class diagram 系統(tǒng)
50、圖片管理操作,通過(guò)設(shè)計(jì)FileMangerAct類,MyAdapter類,F(xiàn)ilehelper類,通過(guò)三個(gè)類的實(shí)例化,以及類中各個(gè)方法的調(diào)用完成功能。模塊總體類圖和時(shí)序圖如下:圖 4-13 模塊總體類圖Figure 4-13 Module overall class diagram圖4-14模塊總體時(shí)序圖Figure 4-14 The module overall timing figure5.16 分享圖片5.7 布局設(shè)計(jì)5.7.1 TabActivity的布局實(shí)現(xiàn)圖 5-4 TabActivity的布局實(shí)現(xiàn)圖Figure 5-4 The TabActivity layout FigureT
51、abActivity的布局是頂部一個(gè)線性布局,有兩個(gè)按鈕,用于切換視圖,下面是一個(gè)層疊布局(tabcontent),用于顯示子Activity的內(nèi)容.這里需要注意的是,系統(tǒng)把默認(rèn)的TabWidget(tabs)設(shè)為隱藏,用系統(tǒng)線性布局里面的按鈕代替TabWidget的功能。5.7.2 圖片瀏覽頁(yè)面的布局實(shí)現(xiàn)圖片瀏覽頁(yè)面就相對(duì)簡(jiǎn)單一點(diǎn),外部是一個(gè)相對(duì)布局,底部是一個(gè)線性布局,線性布局里面有兩個(gè)操作按鈕,確定和取消.只有在執(zhí)行操作的時(shí)候,底部這個(gè)布局才會(huì)顯示,中間是一個(gè)listview用來(lái)顯示當(dāng)前瀏覽的圖片條目。5.7.3分類瀏覽布局設(shè)計(jì)分類瀏覽的布局稍微復(fù)雜一點(diǎn),這里系統(tǒng)先看一下布局導(dǎo)航圖。圖
52、5-5 布局導(dǎo)航圖Figure 5-5 Layout navigational charts第一層:一個(gè)現(xiàn)象布局第二層:一個(gè)viewfliper第三層: viewfliper里面的兩個(gè)線性布局第一個(gè)線性布局,就是放系統(tǒng)主頁(yè)面的分類模塊,第二個(gè)線性布局,用于顯示系統(tǒng)當(dāng)前點(diǎn)擊某一個(gè)分類的時(shí)候用于展示系統(tǒng)的分類數(shù)據(jù).其實(shí)就是一個(gè)listview,給予不同的數(shù)據(jù),顯示不同的樣式.(比如音樂(lè),視頻,文本,圖片等等).第四層:類別顯示層,系統(tǒng)的設(shè)計(jì)界面有9個(gè)類別,其實(shí)對(duì)應(yīng)了三個(gè)垂直的線性布局,每一個(gè)線性布局里面有有三個(gè)水平的線性布局.任何這個(gè)水平的線性布局里面有三個(gè)子view分別是imageview,和2
53、個(gè)textview,下面是一個(gè)線性布局顯示當(dāng)前SD卡的內(nèi)存使用.,可用進(jìn)度條顯示。分類瀏覽的頁(yè)面布局就是這樣來(lái)設(shè)計(jì),這里之所以用一個(gè)viewfliper是因?yàn)橄到y(tǒng)在來(lái)回點(diǎn)擊分類的時(shí)候,用viewfliper切換視圖比較方便而且可以做比較華麗的動(dòng)畫效果。5.8部分功能編碼實(shí)現(xiàn)這里系統(tǒng)來(lái)詳細(xì)介紹一下整個(gè)程序的數(shù)據(jù)獲取,和加載的流程,以及頁(yè)面跳轉(zhuǎn)刷新的過(guò)程.5.8.1 圖片分類信息數(shù)據(jù)的獲取在安卓系統(tǒng)中會(huì)自動(dòng)建立一個(gè)媒體數(shù)據(jù)庫(kù),里面存放系統(tǒng)的圖像信息,包括大小,路徑,圖片名.詳細(xì)的屬性可以打開(kāi)數(shù)據(jù)庫(kù)查看系統(tǒng)需要的屬性,這里系統(tǒng)就把系統(tǒng)所需要獲取的數(shù)據(jù)列出來(lái)就行了.至于別的文件系統(tǒng)就需要另外處理來(lái)獲取
54、數(shù)據(jù),系統(tǒng)可以調(diào)用linux命令來(lái)查詢圖片系統(tǒng)中的所有系統(tǒng)需要查詢的圖片.以下為代碼介紹:1、圖片數(shù)據(jù)的獲取獲取數(shù)據(jù)的游標(biāo),有了它系統(tǒng)就可在數(shù)據(jù)庫(kù)中查詢所有圖片的信息Cursor cursor = context.getContentResolver().query(Media.EXTERNAL_CONTENT_URI, null, null, null, null);public static ArrayList<T> getdata(Cursor cursor) ArrayList<T> musics = new ArrayList<TMusic>();
55、TMusic music;if (cursor .= null && cursor.getCount() > 0) for (cursor.moveToFirst(); .cursor.isAfterLast(); cursor.moveToNext() music = new T();music.setcnme(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.AudioColumns.TITLE);music.setMusicpath(cursor.getString(cursor.getColumnInd
56、ex(MediaStore.Audio.AudioColumns.DATA);music.setDurction(cursor.getString(cursor.getColumnIndex(MediaStore.Audio.AudioColumns.DURATION);musics.add(music);cursor.close();return musics;代碼 5-1 圖片數(shù)據(jù)的獲取Code 5-1 Music file data access2、系統(tǒng)緩存圖片的數(shù)據(jù)獲取Cursor cursor = context.getContentResolver().query(android.
57、provider. Store.Media.EXTERNAL_CONTENT_URI,null, null, null, null);代碼 5-2 緩存圖片的數(shù)據(jù)獲取Code 5-2 Data acquisition of the video file這個(gè)游標(biāo)就是訪問(wèn),信息數(shù)據(jù)庫(kù)的游標(biāo),有了它系統(tǒng)可以查詢出所有系統(tǒng)需要的圖片信息。public static ArrayList<TVideo> getVideo(Cursor cursor) ArrayList<TVideo> videos = new ArrayList<TVideo>();TVideo vi
58、deo;if (cursor .= null && cursor.getCount() > 0) for (cursor.moveToFirst(); .cursor.isAfterLast(); cursor.moveToNext() video = new TVideo();video.setVideoname(cursor.getString(cursor.getColumnIndex("_display_name");video.setVideosize(cursor.getString(cursor.getColumnIndex("_size");String path = cursor.getString(cursor.getColumnIndex("
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 樓面防水針施工方案
- 網(wǎng)架結(jié)構(gòu)施工方案
- 平屋面天溝施工方案
- 陜西防震支架施工方案
- 砼棧道施工方案
- 耐酸磚施工方案
- 消防電源總線施工方案
- 閔行區(qū)綜合佛像施工方案
- 理石臺(tái)面維修更換施工方案
- 閱讀理解能力培養(yǎng)方案
- 2024年08月云南省農(nóng)村信用社秋季校園招考750名工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 防詐騙安全知識(shí)培訓(xùn)課件
- 心肺復(fù)蘇課件2024
- 2024年股東股權(quán)繼承轉(zhuǎn)讓協(xié)議3篇
- 2024-2025學(xué)年江蘇省南京市高二上冊(cè)期末數(shù)學(xué)檢測(cè)試卷(含解析)
- 四川省名校2025屆高三第二次模擬考試英語(yǔ)試卷含解析
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識(shí)
- 江蘇省建筑與裝飾工程計(jì)價(jià)定額(2014)電子表格版
- 分紅保險(xiǎn)精算規(guī)定
- Proud-of-you中英文歌詞
- 基因的表達(dá)與調(diào)控.ppt
評(píng)論
0/150
提交評(píng)論