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

下載本文檔

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

文檔簡介

1、<p>  畢 業(yè) 設(shè) 計(論文)</p><p>  2012 年 5 月 23 日</p><p> 中文題目基于Android文件管理器的開發(fā)</p><p> 英文題目The File Manager</p><p> Development Based on Android</p><p>  畢業(yè)

2、設(shè)計(論文)誠信聲明書</p><p>  本人鄭重聲明:在畢業(yè)設(shè)計(論文)工作中嚴格遵守學(xué)校有關(guān)規(guī)定,恪守學(xué)術(shù)規(guī)范;我所提交的畢業(yè)設(shè)計(論文)是本人在 指導(dǎo)教師的指導(dǎo)下獨立研究、撰寫的成果,設(shè)計(論文)中所引用他人的文字、研究成果,均已在設(shè)計(論文)中加以說明;在本人的畢業(yè)設(shè)計(論文)中未剽竊、抄襲他人的學(xué)術(shù)觀點、思想和成果,未篡改實驗數(shù)據(jù)。</p><p&

3、gt;  本設(shè)計(論文)和資料若有不實之處,本人愿承擔(dān)一切相關(guān)責(zé)任。</p><p><b>  學(xué)生簽名:</b></p><p><b>  年 月 日</b></p><p><b>  摘 要</b></p><p>  隨著Android手機用戶對日常文件處

4、理情況的增加,一方面會影響手機操作系統(tǒng)的性能,另一方面給Android手機用戶操作帶來了不必要的麻煩。而且,Android手機操作系統(tǒng)本身又沒有提供文件管理的軟件,這一點在一定程度上影響Android手機用戶的體驗。本文依據(jù)Android手機終端設(shè)備的可操作性以及軟件可定制性的特點,聯(lián)系客觀實際需求,設(shè)計實現(xiàn)一款基于Android文件管理器系統(tǒng),可以有效的幫助Android手機用戶處理日常文件和管理存儲在本地手機上的文件操作。</

5、p><p>  本文以設(shè)計Android文件管理器為研究目標,首先對Android文件管理器的課題背景做了簡要的闡述,其中主要包括Android智能手機操作系統(tǒng)的現(xiàn)狀和未來的發(fā)展趨勢、研究內(nèi)容及意義、系統(tǒng)性能及需求分析。其次,針對Android的開發(fā)平臺給出本系統(tǒng)開發(fā)環(huán)境的搭建方法以及下載打包到目標手機三星i9000上進行真機測試;介紹Android文件管理器系統(tǒng)總體設(shè)計模式,分析Android文件管理器界面設(shè)計模式

6、的各個子項功能,并進一步擴展Android文件管理器的特色功能,結(jié)合Android手機用戶的市場需求完成詳細設(shè)計。此外,本文還對當(dāng)下主流的Android手機操作系統(tǒng)進行了真機測試,確定出適合Android系統(tǒng)開發(fā)的平臺版本。緊接著介紹在本次開發(fā)過程中用到的Java、XML、數(shù)據(jù)庫等關(guān)鍵技術(shù)的分析。</p><p>  根據(jù)Android文件管理器的需求分析,詳細設(shè)計出各個子模塊的功能,然后根據(jù)各項的子模塊功能,列

7、出詳細的用例描述。Android文件管理器將系統(tǒng)分為Android文件基本操作功能、文件拖曳功能、文件搜索功能、文件設(shè)置功能、文件庫收藏夾功能、APK應(yīng)用程序管理功能、多標簽頁文件顯示功能。然后采用Java語言編寫,以Android提供的Intent、activity機制作為數(shù)據(jù)的映射操作,并完成讀取SD卡/mnt/sdcard目錄下的文件信息以及顯示對應(yīng)的文件圖標格式。結(jié)合開源軟件,在Eclipse IDE環(huán)境下完成Android文件

8、管理器的模型設(shè)計。完成以上功能模塊設(shè)計的基礎(chǔ)上,進一步完善Android文件管理器的主界面設(shè)計,提供給Android手機用戶一種全新的界面風(fēng)格樣式。最后,本文還指出Android文件管理器不足之處,提出了添加ZIP解壓功能、修補Bug操作等功能意見,并爭取早日在Android Market市場上發(fā)布,贏得客戶的青睞。</p><p>  關(guān)鍵詞:文件管理器;Android文件類型;Android </p&g

9、t;<p><b>  Abstract</b></p><p>  With the Android mobile phone users deal with the increase of the situation daily files, on the one hand impact mobile phone operating system performance,

10、on the other hand brought in trouble with android mobile phone user operation. And, Android mobile phone operating system does not provide file management software. This point impact of the android phone user experience.

11、 This paper based on android mobile terminal equipment operation and Software customization. Contact the objective and actual</p><p>  This paper design android file manager as the research target. First, th

12、is paper describes the android file manager subject background, Including android Smartphone operating system, the future development, research contents, research significance, system performance, demand analysis. Second

13、, android development platform gives the system development environment and download package to the target cell phone Samsung i9000 real machine. Introduce android file manager of the whole system of design p</p>

14、<p>  According to the android file manager needs analysis, design the sub-module function, and then according to this point list the detailed description. Android file manager is divided into android file basic ope

15、ration functions, file drag function, file search function, file settings function, file library function, APK application management function, and multiple tab file display function. Then use of Java language in Eclipse

16、. Android provide intent, activity mechanism as data mapping operation.</p><p>  Key Words: File Manager; Android File Type; Android</p><p><b>  目 錄</b></p><p><b>

17、;  第1章 引言1</b></p><p>  1.1 研究內(nèi)容1</p><p>  1.2 研究意義1</p><p>  1.3 研究現(xiàn)狀與發(fā)展趨勢2</p><p>  第2章 Android文件管理器系統(tǒng)分析4</p><p>  2.1 研究目標4</p><p

18、>  2.2 需求分析4</p><p>  2.3 性能分析5</p><p>  第3章 Android系統(tǒng)開發(fā)環(huán)境搭建6</p><p>  3.1 JDK環(huán)境變量配置6</p><p>  3.2 Eclipse配置6</p><p>  3.3 Android SDK 安裝6</p&g

19、t;<p>  3.4 創(chuàng)建AVD6</p><p>  第4章 Android文件管理器總體設(shè)計8</p><p>  4.1 Android文件管理器界面設(shè)計8</p><p>  4.2 基本功能要求10</p><p>  4.3 擴展功能10</p><p>  第5章 Android

20、文件管理器功能模塊設(shè)計11</p><p>  5.1 功能模塊設(shè)計概述11</p><p>  5.2 各項功能模塊介紹12</p><p>  5.2.1 Android文件基本操作功能12</p><p>  5.2.2 文件拖延功能14</p><p>  5.2.3 文件搜索功能18</p&

21、gt;<p>  5.2.4 文件庫功能20</p><p>  5.2.5 APK應(yīng)用程序管理功能23</p><p>  第6章 系統(tǒng)測試26</p><p>  第7章 結(jié)論與展望36</p><p><b>  7.1 結(jié)論36</b></p><p>  7.2

22、進一步工作的方向36</p><p><b>  致 謝37</b></p><p><b>  參考文獻38</b></p><p><b>  第1章 引言</b></p><p><b>  1.1 研究內(nèi)容</b></p>&

23、lt;p>  Android操作系統(tǒng)是Google公司開發(fā)的基于Linux平臺開源的手機操作系統(tǒng),該平臺是主要有以下四部分組成:操作系統(tǒng)、中間層、用戶界面和應(yīng)用軟件,為移動終端設(shè)備提供了良好的開發(fā)環(huán)境。Android系統(tǒng)是基于Linux2.6內(nèi)核來提供系統(tǒng)的核心服務(wù),其中主要的核心庫主要是由Java語言來提供的[1]。Android應(yīng)用程序運行在Dalvik虛擬機之上,該虛擬機是基于存儲器運行在Java語言編譯器的類,通過dx工具

24、轉(zhuǎn)換為.dex格式。Android文件系統(tǒng)采用的是一種針對 NAND設(shè)備的新型文件系統(tǒng)Yaffs2[2],讀寫速度比Yaffs更快,并支持大容量的NAND-Flash芯片。Android開發(fā)平臺提供了大量的開源社區(qū)源碼,給該平臺下開發(fā)Android手機應(yīng)用程序的開發(fā)人員提供許多幫助,而且Google公司還針對移動設(shè)備進行了優(yōu)化。這樣極大方便了開發(fā)人員在手機上開發(fā)的自由性,也為3D大型游戲的開發(fā)提供了堅實的基礎(chǔ),為Android手機未來的

25、發(fā)展埋下了伏筆。</p><p>  本次畢業(yè)設(shè)計所研究的主要內(nèi)容有以下幾點:Android UI界面組件、Widget組件和Menu菜單控件、Grid View、List View、Grid Adapter、List Adapter、Layout Inflate、Android Activity生命周期和Intent事件、Android進程與線程、Android文件讀寫權(quán)限、Android讀取Sdcard目錄、

26、Android文件流操作、Android Dragable拖曳擴展、Android Handler事件處理、Android按鍵事件處理、Android TimerTask定時器、Android同步事件處理、Android Intent事件映射、Android Bind數(shù)據(jù)綁定、Android Service、Pack Manager、Android Content Provider、Android布局組件、XML布局文件、Android

27、 Internet資源以及Android數(shù)據(jù)庫存儲操作。</p><p><b>  1.2 研究意義</b></p><p>  Android文件管理器是一款針對用戶存儲在手機上或者網(wǎng)絡(luò)上的文件管理,它能夠及時有效的幫助Android手機用戶處理日常的文件管理操作,例如新建文件或者文件夾、復(fù)制、粘貼、剪切、刪除、拖曳、查看、編輯、移動文件。不僅如此,Android

28、文件管理器還提供了許多額外的特色功能,例如一是文件庫功能,該功能類似于書簽,Android用戶可以新建多個庫文件,存儲用戶自己喜歡或者重要的文件,可以很好的對文件進行分類管理,方便用戶的操作。二是借鑒Twitter的界面風(fēng)格,在列表顯示的方式下,用戶可以選擇拖曳文件操作,在圖標列表顯示方式下,用戶雙擊文件即可進入文件拖曳狀態(tài)。在不同的位置,文件拖曳的效果和作用又是不一樣的。主要包括以下三種情況:第一種情況,如果拖曳文件拖曳到地址欄以上的

29、地方,則文件操作無效,即不執(zhí)行任何操作。第二種情況,如果拖曳文件拖曳到自己原先的位置,則提示用戶是否刪除該文件或者文件夾。第三種情況,如果拖曳文件拖曳到最下面的工具欄的話,則提示用戶執(zhí)行復(fù)制或者剪切當(dāng)前文件夾的操作。三是支持多標簽頁顯示,Android用戶可以通過點擊右上角的SD卡來添加多個標簽頁。Android用戶可以</p><p>  1.3 研究現(xiàn)狀與發(fā)展趨勢</p><p>  

30、每一個傳奇的背后都會有一個偉人的誕生,誰是Android誕生之父呢?他就是安迪?魯賓,他是一個對技術(shù)有著狂熱摯愛的人,可與蘋果的喬布斯相比拼的男人。2003年,他成立了一家叫Android的公司,致力于實現(xiàn)自己要研制新一代智能手機的最初想法,目標是開發(fā)一個向所有軟件設(shè)計者開放的移動手機平臺。2005年3月,谷歌收購了Android。2007年11月5日,距離蘋果發(fā)布第一代iPhone手機僅四個月,谷歌公司正式公布Android操作系統(tǒng),

31、并且宣布與34家手機廠商、運營商成立“開放手機聯(lián)盟(OHA)”,自此這個基于Linux內(nèi)核的Android系統(tǒng)正式登上歷史舞臺。</p><p>  Android之所以能夠如此的成功,主要有以下幾個方面的原因:一是準確抓住時機。Android的推出,正是第一代智能手機操作系統(tǒng)Symbian、Windows Mobile呈現(xiàn)疲態(tài)的時候,可以說Android抓住了智能手機更新?lián)Q代的節(jié)點。其次是舉辦兩次Android

32、程序設(shè)計大賽,在此期間帶來了一批優(yōu)秀的應(yīng)用程序開發(fā)人員,同時也推動建立起最基本的Android Market商店。另外,Google從一開始就選擇高通成熟的智能手機芯片方案,并選擇已經(jīng)具有豐富智能機經(jīng)驗的HTC作為早期的合作伙伴,也極大的促進了Android的成功。二是開源。我個人認為這是Android能夠快速發(fā)展起來的關(guān)鍵因素。商業(yè)上的免費模式,打破了以往平臺的授權(quán)方式,降低廠商開發(fā)成本的同時,也提升了自己在業(yè)界人士的聲譽,極大推進A

33、ndroid技術(shù)的發(fā)展。Android技術(shù)的開源,使得開發(fā)人員可以更好的參與其中,并積極參與優(yōu)化和改進,以飛快的速度推進Android平臺的成熟。如今的大多數(shù)Android手機廠商都支持Android平臺。三是聯(lián)盟。Google提出另一個制勝的法寶。眾多的主流手機開發(fā)廠商看準了Android這</p><p>  2008年12月,中國手機市場上僅有一款HTC G1的Android手機,但兩年半之后,Androi

34、d智能手機數(shù)量已經(jīng)驟增至277款,用戶關(guān)注度達到53.4%。Android超越Symbian成為中國智能手機市場上最受用戶關(guān)注的智能操作系統(tǒng)。</p><p>  圖1.1 2011年1-9月中國3G智能手機市場各操作系統(tǒng)手機銷量</p><p>  Android在價格方面也是做出了極大的調(diào)整,不同于iPhone手機面向的是高端用戶的產(chǎn)品。Android手機面向各個不同年齡段消費和關(guān)注,

35、生產(chǎn)出適合大眾口味的Android手機,極大滿足消費的需求,并進一步擴大了國內(nèi)的市場銷售份額。在售后服務(wù)方面,Android公司也投資了相當(dāng)大的財力來維護Android用戶的困難。</p><p>  圖1.2 中國3G智能手機市場不同操作系統(tǒng)機型數(shù)量分析</p><p>  我個人認為,Android在3D游戲方面具有潛在的市場?;仡櫄v史,前幾年我們的手機配置并不是很高端,但是發(fā)展到現(xiàn)在

36、,手機在硬件上的配置已經(jīng)快趕上筆記本電腦的配置,硬件方面的提升,給開發(fā)人員提供了更為廣闊的平臺。</p><p>  第2章 Android文件管理器系統(tǒng)分析</p><p><b>  2.1 研究目標</b></p><p>  Android文件管理器能夠及時有效的處理Android手機文件,其中包括以下兩類:一類是系統(tǒng)文件,只允許用戶查

37、看,不能對其進行增刪改操作,如果Android用戶一定要修改系統(tǒng)文件,可以修改root權(quán)限[3]。另一類是sdcard目錄下的文件,主要用于存儲Android手機用戶下載文件,可以對其增刪改查操作。然而,Android文件管理系統(tǒng)并不是一款普通的文件管理系統(tǒng)軟件,它還提供了一些特色的功能,如果Android用戶在手機瀏覽文件的時候,發(fā)現(xiàn)這個文件很有意思或者Android用戶覺得這個文件對以后將來的工作很有幫助并想要收藏起來,以便以后方便

38、調(diào)出再次使用這個文件的時候,Android文件管理器提供了一個文件收藏夾的功能(類似IE瀏覽器中的收藏夾功能)。采用Twitter界面設(shè)計理念,Android用戶通過長按文件或者文件夾,彈出一個Twitter界面,Android用戶通過點擊拖曳文件,實現(xiàn)文件或者文件夾的拖曳,Android用戶可以將文件或者文件夾拖曳到任何位置,當(dāng)然,拖曳文件位置的不同,用戶處理文件的功能也就相應(yīng)的不同,主要有以下三種:第一種是拖曳文件在地址欄以上的位置

39、為無效操</p><p><b>  2.2 需求分析</b></p><p>  Android文件管理器主界面主要有三部分組成:第一部分是添加SD卡并顯示SD卡的文件路徑。第二部分是顯示文件類型,主要有folder,txt,html,zip,unknow file,move,music。第三部分是最頂端的工具欄,主要包括隱藏文件地址欄,向上一級目錄,歷史記錄,刷新

40、,選擇多個文件,菜單。Android通過點擊菜單,可以選擇新建文件,新建文件夾,復(fù)制,黏貼,復(fù)制對話框,APK應(yīng)用程序管理,文件搜索,選擇文件類表方式,文件收藏夾,退出。</p><p>  通過以上的介紹大致可以清楚Android文件管理器的需求功能,主要包括以下幾部分功能:</p><p> ?、臕ndroid文件管理的基本操作,主要包括新建文件,新建文件夾,復(fù)制,黏貼。</p&

41、gt;<p> ?、莆募阉鞴δ?,主要是搜索當(dāng)前文件夾的內(nèi)容,包括模糊搜索和精確搜索。</p><p>  ⑶文件收藏夾功能,主要用于保存Android用戶的重要文件,該功能類似于瀏覽器的收藏夾功能,及時有效的收藏當(dāng)前用戶的有用信息,方便用戶下次再次瀏覽文件。</p><p> ?、雀奈募A或者文件的顯示方式,主要包括列表和網(wǎng)格兩種。</p><p>

42、; ?、芍С治募A或者文件拖曳功能。文件拖曳的位置不同,相應(yīng)的執(zhí)行操作也就不同,主要有以下三種情況。第一種是拖曳文件在地址欄以上的位置為無效操作,即不執(zhí)行任何操作。第二種是拖曳文件到最下面的工具欄上為復(fù)制或者剪切到當(dāng)前文件夾。第三種是拖曳文件到本身的位置,即刪除當(dāng)前文件。</p><p> ?、蔄PK應(yīng)用程序管理。主要包括以下四個啟動應(yīng)用程序,卸載應(yīng)用程序,備份應(yīng)用程序,查看應(yīng)用程序的詳細信息。</p>

43、;<p><b>  2.3 性能分析</b></p><p>  Android文件管理器具有占用內(nèi)存小,運行速度快(對于Android手機配置并不高的手機也同樣適用),界面美觀華麗,安全性能高[4]。</p><p>  第3章 Android系統(tǒng)開發(fā)環(huán)境搭建</p><p>  3.1 JDK環(huán)境變量配置</p>

44、<p>  首先進入Oracle官方網(wǎng)站下載最新版本的JDK,其次,配置JDK環(huán)境變量,主要包括三個環(huán)境變量配置,它們分別是JAVA_HOME,CLASSPATH,PATH。下面分別對它們配置的變量做相應(yīng)的介紹。</p><p> ?、臞AVA_HOME主要是配置JDK的安裝路徑。例如我本機是安裝在C:\Program Files\Java\jdk1.6.0_12。</p><p

45、> ?、婆渲肞ATH環(huán)境變量。主要用于加載JDK目錄下的lib目錄,本機電腦的配置為:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin, </p><p> ?、桥渲肅LASSPATH環(huán)境變量。主要用于存放調(diào)試工具文件目錄。本機配置為:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar?!咀⒁狻?;表示當(dāng)前目錄。</p><p&g

46、t;  ⑷打開cmd命令,輸入java –version,如果能夠正確顯示jdk安裝的版本號,則表明環(huán)境變量配置成功。</p><p>  3.2 Eclipse配置</p><p>  解壓eclipse到當(dāng)前文件夾,打開eclipse文件夾,雙擊eclipse.exe,進入eclipse主界面,在菜單欄上選擇 Help->Install New Software,點擊Add按鈕,

47、輸入Name和Location。</p><p>  Name:Android,Location:https://dl-ssl.google.com/android/eclipse/ (如果出錯,請將https改成http),選中Developments Tools,點擊OK按鈕,Eclipse下載安裝成功,系統(tǒng)提示你是否重啟,點擊Yes按鈕,Eclipse配置成功。</p><p&

48、gt;  3.3 Android SDK 安裝</p><p>  ⑴點擊菜單Window->Preferences,選擇Android,點擊Browse選擇你的android SDK解壓后的目錄。如果你選擇的不是sdk目錄,Eclipse則以打紅叉的形式提示給用戶。</p><p> ?、粕塖DK版本,選擇菜單 Window->Android SDK and AVD Man

49、ager,在左邊的Packages中選擇你需要下載的SDK版本,選擇Accept,點擊Install按鈕,開始升級下載。</p><p><b>  3.4 創(chuàng)建AVD</b></p><p>  選擇菜單 Window->Android SDK and AVD Manager,選擇Virtual Devices,點擊右邊欄的New按鈕,新建一個Android

50、AVD。輸入Name,名字可以根據(jù)用戶自己的喜好自己命名。SD Card Size選擇256MB,Skin選擇Default(HVGA),最后點擊Create AVD,彈出一個提示框,點擊OK,創(chuàng)建AVD成功。</p><p>  第4章 Android文件管理器總體設(shè)計</p><p>  4.1 Android文件管理器界面設(shè)計</p><p>  點擊運行An

51、droid FileManager.apk應(yīng)用程序,首先映入眼簾的是Android文件管理器主界面,主要包含四個部分:第一部分為添加SD卡的部分,左邊顯示的添加的SD卡,最右邊是點擊添加SD卡的按鈕。第二部分為顯示當(dāng)前Android用戶瀏覽文件夾或者文件的路徑,當(dāng)然用戶也可以選擇自己想要的路徑進行切換到指定目錄。第三部分為文件或者文件夾列表顯示,默認顯示路徑為/mnt/sdcard目錄,顯示當(dāng)前的文件[5]。第四部分為最頂端的工具欄,主

52、要包括以下幾個功能,第一個按鈕的功能是顯示或者隱藏SD卡,其中,Android用戶點擊向上箭頭為隱藏SD卡,點擊向下箭頭為展開SD卡。第二個按鈕的功能是顯示上一級目錄,Android用戶通過點擊向上箭頭來切換到自己指定的文件夾目錄。第三個按鈕的功能是顯示歷史記錄,保存用戶瀏覽過的文件夾目錄地址,Android用戶可以通過點擊任意的目錄路徑來切換到當(dāng)前用戶指定的目錄。第四個按鈕的功能是選擇復(fù)制多個或者單個文件或者文件夾。Android用戶

53、通過點擊切換選擇對多個文件的執(zhí)行操作。第五個按鈕的功能是刷新當(dāng)前文件或者文件夾,以便及時更新用戶當(dāng)前文件內(nèi)容</p><p>  針對以上對Android文件管理器的描述,可以畫出相應(yīng)的界面圖,如下圖4.1所示。當(dāng)Android用戶點擊最底部工具欄中的菜單項時,其中包括了以下十個部分:新建文件夾、新建文件、復(fù)制對話框、黏貼、搜索、APK管理、設(shè)置、列表顯示方式、文件庫、退出,菜單選項界面設(shè)計如下圖4.2所示。An

54、droid用戶通過點擊添加多張SD卡按鈕來添加多張SD卡,方便用戶操作,在顯示SD卡路徑的地址欄中,用戶也可以通過選擇地址欄上的路徑來切換到用戶指定的目錄下,并對文件執(zhí)行操作命令[6]。在顯示文件列表的視圖中,Android用戶可以看到當(dāng)前/mnt/sdcard目錄下的所有文件和文件夾,其中包括有txt文檔,move影音模式,MP3音樂播放器,htm文件,photo照片,zip解壓包,Apk應(yīng)用程序,未知文件的類型。</p>

55、<p>  最底端的文件工具欄主要包括隱藏SD卡,顯示上一級目錄,顯示當(dāng)前用戶瀏覽過的歷史記錄,選擇多個文件或者當(dāng)個文件,菜單項。Android用戶通過點擊經(jīng)典菜單項來對文件夾進行操作功能。當(dāng)然,還提供給用戶一種重新的體驗效果,借鑒Twitter界面設(shè)計模式來設(shè)計彈出式菜單,給人以一種全新的視覺沖擊效果。如果用戶想要取消當(dāng)前的彈出式菜單,可以通過點擊屏幕的任意地方來取消對彈出式菜單的取消操作。Android文件管理器提供給

56、用戶兩種選擇菜單項的方式,方便用戶操作選擇[7]。</p><p>  圖4.1 Android文件管理器界面設(shè)計</p><p>  圖4.2 Android文件管理器菜單選項界面設(shè)計</p><p>  4.2 基本功能要求</p><p>  Android文件管理器提供給Android用戶處理日常文件操作的基本功能,這些基本文件操作功

57、能有以下幾點:</p><p> ?、判陆ㄎ募A、新建文件、復(fù)制文件、黏貼文件、移動文件、刪除文件等基本操作。</p><p> ?、艫ndroid文件管理器根據(jù)用戶的需求,還提供了文件搜索功能,方便用戶查找指定文件。</p><p> ?、峭瑫r也提供文件列表顯示方式,可以網(wǎng)格的形式排列文件圖標,或者以詳細列表的信息來顯示當(dāng)前文件。</p><p

58、> ?、華ndroid用戶也可以點擊設(shè)置來顯示文件類型,設(shè)置主要包含以下幾部分內(nèi)容:第一行顯示隱藏以.開頭的文件;第二行修改帶root權(quán)限;第三行顯示文件大?。ㄒ粤斜淼男问斤@示);第四行顯示文件時間(以列表的形式顯示);第五行查看SD卡容量;第六行查看手機內(nèi)部存儲空間;第七行顯示Android文件管理器關(guān)于/幫助信息。</p><p><b>  4.3 擴展功能</b></p&

59、gt;<p>  Android文件管理器不僅僅提供這些基本的文件操作功能,同時Android文件管理器本身也包含了一些特色的功能,來吸引Android用戶的使用。這些特色功能主要包含有以下幾點:</p><p> ?、胖С痔砑佣鄰圫D卡的多標簽頁,Android用戶可以根據(jù)自己的需要添加多張SD卡來對當(dāng)前文件的操作。</p><p> ?、撇捎肨witter的界面模式--彈

60、出式菜單選項。支持拖曳文件功能,Android用戶通過點擊拖曳文件功能來對當(dāng)前文件夾或者文件執(zhí)行拖曳,其中拖曳又包含了以下三種情況:第一種情況當(dāng)拖曳文件到文件夾地址欄以上時,為無效操作,即不執(zhí)行任何文件操作。第二種情況當(dāng)拖曳文件拖曳到自身的時候,執(zhí)行刪除文件或者文件夾的操作,彈出刪除命令提示框,提示Android用戶是否刪除當(dāng)前文件。第三種情況當(dāng)拖曳文件到最頂部的工具欄上時,執(zhí)行復(fù)制到當(dāng)前文件夾目錄中[8]。</p>&l

61、t;p>  ⑶提供文件庫收藏夾功能,該功能類似于瀏覽器的收藏夾功能,及時有效的收藏當(dāng)前Android用戶有用的文件,方便下次用戶繼續(xù)查看和瀏覽。</p><p> ?、忍峁┛旖菹吕瓭L動條,該功能主要是設(shè)置在屏幕的右側(cè)面,當(dāng)Android用戶用完或者不用的時候,會自動隱藏,以便下次再次使用。該快捷下拉滾動條主要是方便Android用戶瀏覽文件,Android用戶可以快速定位到某一個文件夾或者文件。</p

62、><p>  第5章 Android文件管理器功能模塊設(shè)計</p><p>  5.1 功能模塊設(shè)計概述</p><p>  Android文件管理器是一款操作簡單,界面華麗,占用內(nèi)存資源小的一款手機軟件,該軟件包含了對文件或者文件夾的基本功能操作,例如我們經(jīng)常會對文件或者文件夾進行新建一個文件夾或者文件,還可以復(fù)制或者剪切到另外一個文件夾(也稱為移動文件)。Andro

63、id文件管理器除了這些基本的常用功能操作之外,還提供了豐富且具有特色功能的文件操作,為Android用戶提供更為快捷簡便的文件操作[9]。Android文件管理器支持多標簽頁的顯示功能,Android用戶可以根據(jù)自己的需求來新建多張SD卡,來存放用戶文件。不僅如此,在界面上采用Twitter的界面設(shè)計模式,以彈出式的華麗菜單界面,給Android用戶一個全新的體驗方式。當(dāng)然,也考慮到一些已經(jīng)老客戶已經(jīng)習(xí)慣了經(jīng)典的菜單模式,對此我也做了一

64、個經(jīng)典的菜單模式以備后患。該彈出式菜單的另一特點就是Android用戶可以任意拖曳文件夾或者文件在整個屏幕中,當(dāng)然,對于不同的操作,我設(shè)置了不同功能,例如如果Android用戶拖曳一個文件夾或者文件到自身位置,則系統(tǒng)提示用戶是否刪除當(dāng)前文件或者文件夾操作。下面簡單介紹一下各個功能的模塊設(shè)計。</p><p>  文件搜索功能:Android用戶可以通過點擊菜單選項,選擇文件搜索來對文件進行查找功能。首先用戶輸入關(guān)

65、鍵字進行查找,Android文件管理器提供兩種搜索模式:一種是大小寫敏感搜索。另一種是完全匹配搜索。通過這兩種搜索Android用戶可以精確的查找到自己想要查找的文件。</p><p>  文件設(shè)置功能:Android用戶通過點擊菜單選項,選擇設(shè)置,來對文件夾或者文件有一個詳細的說明和解釋,并且提供關(guān)于/幫助用戶手冊,來協(xié)作Android用戶的操作。文件設(shè)置功能主要包括隱藏以.開頭的文件、修改帶root權(quán)限、顯示

66、文件大?。ㄒ粤斜淼男问斤@示)、顯示文件時間(以列表的形式顯示)、查看SD卡容量、查看手機內(nèi)部存儲空間、顯示Android文件管理器關(guān)于/幫助信息。</p><p>  文件列表顯示功能:提供兩種列表顯示功能,一種是以圖表的形式來顯示當(dāng)前文件或者文件夾,另一種是以列表的形式來顯示當(dāng)前文件或者文件夾的詳細信息,包括創(chuàng)建文件或者文件夾的大小和時間。</p><p>  APK應(yīng)用程序軟件管理功能

67、:提供查看軟件的詳細信息,列出軟件的版本號,是否強制停止當(dāng)前的應(yīng)用程序和卸載該應(yīng)用程序,不僅如此,還提供清楚數(shù)據(jù)緩存的功能,Android用戶可以通過點擊Clear data按鈕清楚數(shù)據(jù)緩存。最后還提供了對權(quán)限的說明包括當(dāng)前SD卡的存儲信息、個人信息、手機狀態(tài)信息。Android用戶也可以通過點擊Show all來顯示system的權(quán)限信息。</p><p>  文件拖曳功能:Android用戶通過長按文件夾或者

68、文件來彈出拖曳文件菜單項。通過點擊拖曳來執(zhí)行拖曳文件操作,根據(jù)拖曳文件位置的不同分為以下三種:第一種,如果拖曳文件拖曳到自己本身的位置,則系統(tǒng)提示是否刪除當(dāng)前文件。第二種,如果拖曳文件至文件地址顯示欄以上的話,則不執(zhí)行任何操作。第三種,如果拖曳文件至最底端的工具欄上,則提示用戶是否復(fù)制到當(dāng)前文件夾上。</p><p>  5.2 各項功能模塊介紹</p><p>  5.2.1 Andro

69、id文件基本操作功能</p><p>  Android文件管理器提供了基本文件操作功能,最常見的操作功能為新建一個文件夾、新建一個文件、復(fù)制文件到另一個文件夾候中、刪除一個文件夾等基本操作[10]。文件的基本操作主要是有FileOperation.java文件來執(zhí)行,其核心部分主要是對文件流的讀寫操作,核心代碼如下所示:</p><p><b>  /**</b>&

70、lt;/p><p>  * Android文件管理器的基本文件操作</p><p><b>  */</b></p><p>  public class FileOperation {</p><p>  public static void copyFile(String oldPath, String newPath)

71、throws IOException </p><p><b>  {</b></p><p>  int bytesum = 0;</p><p>  int byteread = 0;</p><p>  File oldfile = new File(oldPath);</p><p>  

72、if (oldfile.exists()) </p><p><b>  {</b></p><p><b>  //讀入原文件</b></p><p>  InputStream inStream = new FileInputStream(oldPath);</p><p>  FileOutp

73、utStream fs = new FileOutputStream(newPath);</p><p>  byte[] buffer = new byte[4096];</p><p>  while ((byteread = inStream.read(buffer)) != -1) </p><p><b>  {</b></p&

74、gt;<p>  // 字節(jié)數(shù)文件大小</p><p>  bytesum += byteread; </p><p>  fs.write(buffer, 0, byteread);</p><p><b>  }</b></p><p>  inStream.close();</p>&l

75、t;p><b>  }</b></p><p><b>  }</b></p><p><b>  /**</b></p><p>  * 遞歸獲取文件夾里所有文件的總大小</p><p>  *@File f 文件</p><p><b&g

76、t;  * */</b></p><p>  public static long getDirectorySize(File f) throws IOException</p><p><b>  {</b></p><p>  long size = 0;</p><p>  File flist[] =

77、 f.listFiles();</p><p>  if (flist == null)</p><p>  return f.length();</p><p>  int length = flist.length;</p><p>  for (int i = 0; i < length; i++) </p><

78、;p><b>  {</b></p><p>  if (flist[i].isDirectory()) </p><p><b>  {</b></p><p>  size = size + getDirectorySize(flist[i]);</p><p><b>  }e

79、lse {</b></p><p>  size = size + flist[i].length();</p><p><b>  }</b></p><p><b>  }</b></p><p>  return size;</p><p><b>

80、;  }</b></p><p><b>  /**</b></p><p>  * 遞歸獲取文件夾里所有文件的總大小</p><p>  *@String fp 文件路徑字符串</p><p><b>  * */</b></p><p>  public st

81、atic long getDirectorySize(String fp) throws IOException</p><p><b>  {</b></p><p>  long size = 0;</p><p>  File f = new File(fp);</p><p>  File flist[] = f

82、.listFiles();</p><p>  if (flist == null)</p><p>  return f.length();</p><p>  int length = flist.length;</p><p>  for (int i = 0; i < length; i++) </p><p

83、><b>  {</b></p><p>  if (flist[i].isDirectory()) </p><p><b>  {</b></p><p>  size = size + getDirectorySize(flist[i]);</p><p><b>  }els

84、e {</b></p><p>  size = size + flist[i].length();</p><p><b>  }</b></p><p><b>  }</b></p><p>  return size;</p><p><b> 

85、 }</b></p><p>  5.2.2 文件拖延功能</p><p>  Android文件管理器采用Twitter界面設(shè)計理念,實現(xiàn)列表視圖下拖曳文件和網(wǎng)格視圖下拖曳文件的功能。首先介紹一下ListView下實現(xiàn)拖曳文件的原理,第一步搭建Android文件管理器主界面和列表選項的布局,獲取SD卡上的文件夾和文件數(shù)據(jù),自定義適配器類FileListAdapter.java

86、文件,該文件的主要作用是把文件夾或者文件數(shù)據(jù)填充到ListView中[11]。通過重寫ListView中onInterceptTouchEvent(),onTouchEvent()方法來響應(yīng)觸控事件并作出相應(yīng)的界面調(diào)整,其中重寫onTouchEvent()方法主要是用來出來拖動和放下。其核心代碼如下所示:</p><p><b>  /**</b></p><p> 

87、 * onInterceptTouchEvent()方法主要處理觸控攔截方法。</p><p>  * 判斷是否拖動還是僅只有點擊操作,并建立拖動影像。</p><p>  *@MotionEvent event按鈕事件</p><p><b>  * */</b></p><p>  public boolean on

88、InterceptTouchEvent(MotionEvent event) </p><p><b>  {</b></p><p>  if ((dragListener == null && dropListener == null))</p><p>  return super.onInterceptTouchEven

89、t(event);</p><p>  waitMoveDrag = false;</p><p>  int act = event.getAction();</p><p>  switch (act) </p><p><b>  {</b></p><p>  case MotionEve

90、nt.ACTION_DOWN:</p><p>  // 判斷是否進入拖曳的位置, 這里是ListView的圖標</p><p>  int x = (int) event.getX();</p><p>  int y = (int) event.getY();</p><p>  if (dragMinX < x &&

91、; x < dragMaxX) </p><p><b>  {</b></p><p>  int itemNum = pointToPosition(x, y);</p><p>  if (itemNum == INVALID_POSITION)</p><p><b>  {</b>&

92、lt;/p><p><b>  break;</b></p><p><b>  }</b></p><p>  dragItemFrom = dragCurPos = itemNum;</p><p>  View item = (View) getChildAt(itemNum</p>

93、<p>  - getFirstVisiblePosition());</p><p>  if (item == null) </p><p><b>  {</b></p><p><b>  break;</b></p><p><b>  }</b><

94、/p><p>  dragging = true;</p><p>  itemHeight = item.getHeight();</p><p>  itemWeight = item.getWeight();</p><p>  int offset = 0;</p><p>  int end = 0;</p

95、><p>  item.setDrawingCacheEnabled(true);</p><p>  Bitmap bm = Bitmap.createBitmap(item.getDrawingCache());</p><p>  startDrag(bm, (int) event.getRawX(), (int) event.getRawY());</p&

96、gt;<p>  startDragListener.startDrag(itemNum);</p><p>  return false;</p><p><b>  }</b></p><p>  dragView = null;</p><p><b>  break;</b>&

97、lt;/p><p><b>  }</b></p><p>  return super.onInterceptTouchEvent(event);</p><p><b>  }</b></p><p><b>  /**</b></p><p>  *

98、onTouchEvent()方法主要處理拖動和放下按鍵的功能。</p><p>  * 放下按鍵則是通過結(jié)束拖曳時交換數(shù)據(jù)實現(xiàn)的。</p><p>  *@MotionEvent event按鈕事件</p><p><b>  * */</b></p><p>  public boolean onTouchEvent(

99、MotionEvent event) </p><p><b>  {</b></p><p>  if (dragging) </p><p><b>  {</b></p><p>  doTask = false;</p><p>  int action = even

100、t.getAction();</p><p>  downHeight = getHeight() - itemHeight;</p><p>  switch (action) </p><p><b>  {</b></p><p>  case MotionEvent.ACTION_CANCEL:</p>

101、;<p>  case MotionEvent.ACTION_UP:</p><p>  dragging = false;</p><p>  if (currentPosView != null)</p><p>  currentPosView.setBackgroundDrawable(null);</p><p> 

102、 stopDrag();</p><p>  if (dropOutListener != null && (</p><p>  event.getY() > DDListView.this.getHeight()</p><p>  || dragCurPos == DDListView.INVALID_POSITION))</p&g

103、t;<p><b>  {</b></p><p>  // 在沒有文件的位置或超出listView的地方放手.</p><p>  dropOutListener.dropOut(dragItemFrom, </p><p>  (int)event.getX(), </p><p>  (int)eve

104、nt.getY());</p><p>  } else if (dropListener != null && dragCurPos < getCount()</p><p>  && dragCurPos >= 0) </p><p><b>  {</b></p><p>

105、;  dropListener.drop(dragItemFrom, dragCurPos);</p><p><b>  } </b></p><p><b>  break;</b></p><p>  case MotionEvent.ACTION_DOWN:</p><p>  case M

106、otionEvent.ACTION_MOVE:</p><p>  int x = (int) event.getX();</p><p>  int y = (int) event.getY();</p><p>  dragView(x, y);</p><p>  int itemnum = pointToPosition(x,

107、 y);</p><p>  if (itemnum == INVALID_POSITION) </p><p><b>  {</b></p><p>  dragCurPos = itemnum;</p><p><b>  break;</b></p><p><

108、b>  }</b></p><p>  if (itemnum != dragCurPos && currentPosView != null) </p><p><b>  {</b></p><p>  currentPosView.setBackgroundDrawable(null);</p>

109、;<p><b>  }</b></p><p>  currentPosView=</p><p>  getChildAt(itemnum.getFirstVisiblePosition());</p><p>  if (currentPosView != null)</p><p>  curren

110、tPosView.setBackgroundResource(</p><p>  R.drawable.list_drag_background);</p><p>  if ((action==MotionEvent.ACTION_DOWN||itemnum != dragCurPos)) {</p><p>  if (dragListener !=

111、 null) </p><p><b>  {</b></p><p>  dragListener.drag(dragCurPos, itemnum,</p><p>  action == MotionEvent.ACTION_DOWN);</p><p><b>  }</b></p&g

112、t;<p>  dragCurPos = itemnum;</p><p><b>  }</b></p><p><b>  /**</b></p><p>  * 在邊緣時可以上下滾動</p><p><b>  * */</b></p><

113、;p>  dragY = y;</p><p>  if (y >= downHeight&& (!downing || !doTask)) </p><p><b>  {</b></p><p>  if (itemnum == getCount() - 1) </p><p><b

114、>  {</b></p><p>  setSelectionFromTop(itemnum, downHeight);</p><p><b>  break;</b></p><p><b>  }</b></p><p>  downing = true;</p>

115、<p>  doTask = true;</p><p>  sendMessage();</p><p>  } else if (y <= itemHeight&& (downing || !doTask)) </p><p><b>  {</b></p><p>  if (i

116、temnum == 0) </p><p><b>  {</b></p><p>  setSelectionFromTop(itemnum, 0);</p><p><b>  break;</b></p><p><b>  }</b></p><p&

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論