摘 ?要
伴隨著現代科技的發展潮流,移動互聯網技術快速發展,各種基于通信技術的移動終端設備做的也越來越好了,現代智能手機大量的進入到了我們的生活中。電子產品的各種軟硬技術技術的發展,操作系統的不斷更新換代,谷歌對 Android 平臺也大力支持,也使得 Android 的不斷完善。由此,各大手機廠商也非常重視對 Android 手機的研發和推廣,使用這種操作系統的智能機的用戶飛速增長。文件管理作為現代 Android 智能手機的一項基本需求,特別是隨著大數據時代的到來,越來越顯現出它的重要性。但是,就Android 系統本身而言,平臺不提供文件管理器的功能,而隨著移動終端的處理能力和存儲容量越來越大,對于資源的利用和管理的要求也就越來越高,Android 系統對文件管理支持不足與用戶實際需求之間的矛盾突出。開發一款基于Android 的文件管理系統具有重要的現實意義。
對于APP的實現,首先選擇系統使用的開發語言、開發環境,然后就是對系統的分析,并且根據分析的系統可行性對系統進行設計,設計主要包括界面設計和功能模塊的設計,從而進行基于Android文件管理器APP客戶端的系統整體設計,主要實現瀏覽文件(文件夾)、顯示路徑以及對目錄的一些基本操作(如:新建、刪除、粘貼等);提示用戶有關文件操作的菜單,如:打開、復制、剪切、重命名和新建等;在重命名和新建時需要彈出對話框輸入文件名;可以usb調試,讀取手機及sd卡的文件內容,并且還具有搜索動能。
基于安卓的的文件管理器的實現,主要采用Android技術,及JAVA語言,Android studio開發環境,在設計過程中,充分保證了系統代碼的良好可讀性、實用性、易擴展性、通用性、便于后期維護、操作方便以及頁面簡潔等特點。
關鍵詞:安卓 文件管理器 ?Android studio ?JAVA
ABSTRACT
With the development trend of modern technology, mobile Internet technology is developing rapidly, and various mobile terminal devices based on communication technology are getting better and better. Modern smart phones have entered our lives in large numbers. The development of various hardware and software technologies of electronic products, the continuous updating of operating systems, and Google's strong support for the Android platform have also made Android continue to improve. As a result, major mobile phone manufacturers also attach great importance to the development and promotion of Android mobile phones, and the number of users of smartphones using this operating system is growing rapidly. As a basic requirement of modern Android smart phones, file management has become more and more important with the advent of the era of big data. However, as far as the Android system itself is concerned, the platform does not provide the function of a file manager. With the increasing processing power and storage capacity of mobile terminals, the requirements for resource utilization and management are getting higher and higher. The contradiction between the system's insufficient file management support and the actual needs of users is prominent. The development of an Android-based file management system has important practical significance.
For the implementation of APP, first select the development language and development environment used by the system, and then analyze the system, and design the system according to the analyzed system feasibility. The design mainly includes the interface design and the design of functional modules, so as to be based on Android The overall system design of the file manager APP client mainly realizes browsing files (folders), displaying paths and some basic operations on directories (such as: new, delete, paste, etc.); menus that prompt users about file operations, such as: open , Copy, cut, rename and new creation, etc.; need to pop up a dialog box to enter the file name when renaming and new creation; USB debugging can be used to read the file content of the mobile phone and SD card, and it also has the search function.
The realization of the Android-based file manager mainly adopts Android technology, JAVA language, and Android studio development environment. During the design process, it fully guarantees the good readability, practicability, scalability, and versatility of the system code. It is easy to maintain, easy to operate and simple page features.
Keywords: Android file manager Android studio JAVA
Android是基于Linux內核的免費開放源代碼操作系統。主要用于由Google和開放式移動聯盟領導和開發的移動設備,例如智能手機和平板電腦。 2007年11月5日,Google領導開放移動聯盟(OHA)發行了適用于Android的開放源代碼。這意味著任何人都可以在其硬件設備上開發Android應用程序。 Android的開放優勢使其在全球智能手機市場上越來越重要。首款Android智能手機于2008年10月發布。Android已逐漸擴展到平板電腦和其他領域,例如電視,數碼相機,游戲機,智能手表等。 Android系統具有引入成本低,用戶體驗好,開放性強的特點。在Android應用程序市場和許多第三方應用程序商店的支持下,應用程序資源非常豐富。因此,Android系統適應了移動互聯網的發展趨勢,滿足了移動互聯網產業鏈各方的發展變化需求,并實現了快速發展。
但是,作為用于智能移動設備的最受歡迎的操作系統之一,Android在6.0版本之前沒有文件管理功能,6.0版本之后的文件管理器功能也比較單薄。隨著Android手機的普及,Android Market應用程序越來越豐富,手機上的文件存儲量也越來越多。沒有文件管理功能的缺陷會在一定程度上影響用戶體驗。為了解決這個問題,許多軟件開發商和設備制造商已經推出了自己的文件管理軟件。更為流行的是ro??otexplorer文件管理器,ES文件瀏覽器,X-plore文件管理器,Huawei文件管理器,Xiaomi文件管理器等。這些管理軟件在很大程度上滿足要求但是,隨著應用程序環境的復雜性,出現了新的要求。
另外,在信息時代,移動電話本地存儲著越來越多的文件。對于有限的機身存儲空間,這是一個巨大的潛在問題。從近年來國內外大型通信設備制造商推出的產品可以看出,同品牌的大容量存儲器型號受到越來越多用戶的青睞,這已經是不爭的事實。如何擴展可用存儲空間,可以選擇購買容量較大的品牌型號,或購買外部存儲設備。但這勢必增加用戶的額外費用。因此,開發簡單有效的文件管理系統已經成為我們必須面對的問題。
1.2 文件管理系統發展現狀
信息時代,手機用戶對文件管理的需求已成為常態。調查發現,幾乎所有的Android智能手機出廠時都具有預設的文件管理應用程序。本機Android系統文件管理功能不太完善。目前,用戶使用的幾乎所有文件管理軟件都是由第三方開發并由觸摸控制的。除了開發相關應用程序的大型Android移動設備提供商之外,許多第三方技術公司還擁有自己的文件管理產品。據統計,Android應用程序市場上活躍著一百多種文件管理軟件,它們的功能越來越完善,個性化越來越多。以下是代表性的Android文件管理應用程序的介紹。
1. ES文件瀏覽器
ES文件瀏覽器在Android 1.6時代享有很高的聲譽。經過許多版本更新后,它受到Android手機用戶的青睞。 ES界面合理美觀,支持主題自定義和窗口滑動切換功能,主頁直觀顯示手機的存儲狀態和文件更新日志。該應用程序具有內置的智能文件分析器,可以快速查找和分類文件,并進行有針對性的垃圾清理和應用程序卸載。在同一個LAN中,建立連接可以對計算機文件進行遠程管理。 ES的另一個亮點是集成了十多個網絡磁盤門戶,例如Dropbox,百度云磁盤和onedrive,它們可以在線管理網絡磁盤中的資源。
2.?Root Explorer 文件管理器
Root Explorer文件管理器,稱為re文件管理器,是Android手機中最著名的文件管理器之一。像ES文件瀏覽器一樣,它早在Android 1.6時代就擁有廣泛的用戶群。 re的用戶界面不是很華麗,但是功能卻很強大。只要您具有root權限,就可以使用re file manager在手機上執行任何操作。適合刷愛好者。
3.華為文件管理器
除了在華為智能手機上預設外,華為文件管理器還支持第三方下載。用戶界面簡潔大方,支持文件分類瀏覽和路徑瀏覽。您可以左右滑動并單擊選項卡以切換窗口。除了提供文件管理的基本功能外,華為提供的云存儲服務還可以通過注冊華為帳戶來使用。文件管理器的另一個主要功能是安全柜。它支持文件的加密保護,并且可以通過安全柜還原文件。
4. 360超級文件管理器
360超級文件管理器的布局結構與華為文件管理器類似,采用標簽導航的顯示方式。登錄到360帳戶即可享受360提供的云服務。回收站功能支持恢復已刪除的文件。文件清理功能可以幫助用戶清理內存中的垃圾文件,遠程管理可以實現PC上手機文件的管理。
5.?Solid Explore 文件管理器
實體文件管理器是MD設計樣式的文件管理器。 UI設計精美,動畫流暢。整體風格很簡單,但并不簡單。
從Android 6.0開始,系統開始提供文件管理功能。雖然目前只進行簡單的復制和刪除操作,但是反映出Google開發重視文件管理功能的重要性。
1.3?本人完成的主要工作
基于前文對文件管理器的分析,現有的管理器通常功能還不太完善,且冗余功能多,系統比較復雜余,不具備間接性和便利性。本項目旨在開發一款文件管理器,能夠讀取手機中的文件,對圖片,視頻都可以進行瀏覽,并且擁有一個簡潔美觀的界面,基本功能齊全。
本論文的結構組織上分為8個章節,下面做一詳細介紹:
1. 緒論,介紹了課題研究背景和意義,目前國內外的主要研究熱點,項目內容以及本人完成的主要工作。
2. 相關技術說明,本章主要介紹了安卓開發平臺的系統架構和主要開發組件。
3. 開發環境搭建,主要包括JAVA開發環境和安卓開發環境的系統搭建。
4. 需求分析,具體從經濟性、可行性和操作性進行了具體分析。
5. 系統概要設計,該部分具體從系統整體結構和步數計算進行了具體設計。
6. 系統實現,通過代碼邏輯實現具體的功能模塊,并通過開發工具進行編譯產生具體的app。
7. 系統測試,闡述了測試目的和意義,并結合了黑盒和白盒測試方法進行了具體的項目測試。
8. 總結和致謝
-
?第二章?相關技術簡介 -
2.1 Android系統架構
本文采用 Android 平臺進行文件管理器APP的開發。Android 平臺作為主流的移動端操作系統,在各類智能終端上得到了廣泛應用。Android 是一種基于 Linux 的開放源代碼軟件棧,其系統架構如圖 2-1所示,主要分為 4 層架構,5 塊區域,具體為:內核層和系統操作層、應用結構層和上層應用層[13]。
圖2-1 Android系統架構圖
(1)Linux 內核層:作為 Android 系統的最底層,主要功能包括設備驅動、移動設備通信模塊、內存管理、功耗管理等等,其中驅動層主要包括無線網絡驅動、音頻驅動、圖像驅動等等。同時,內核層作為硬件設備的抽象,使開發者不用關心底層邏輯的實現,從而提高開發效率。
(2)系統運行時庫層:Android的系統運行庫包含兩部分,一個是系統庫,另一個是運行時。系統庫是應用程序框架的支撐,其主要通過一些 C/C++庫為開發者提供系統功能服務,如數據庫、3D 圖繪、瀏覽器內核、多媒體等服務。運行時庫提供了Java語言API中的大多數功能,同時也包含Android的一些核心API.如android.OS、android.net、android.media等。利用這些接口,開發者可以利用 Java 語言來開發應用程序。Android 運行時庫還包含 Dalvik 虛擬機。Dalvik 虛擬機是針對移動平臺設計的 Java 虛擬機,讓移動平臺可以在的 CPU、內存性能首先的情況下更流暢地運行程序。
(3)應用框架層:即Frameworks層,是用來支持應用層中的程序的運行的框架層,為開發者提供了開發應用程序過程中可能會用到的接口,如Activity Manager、Package Manager等等。
(4)應用層:用戶通過這一層與系統進行交互,用戶平時使用的短信、游戲、地圖、瀏覽器、微信等都屬于這一層,它們一般都是使用Java進行編寫。
2.2 Android應用程序構成
android應用程序以各種組件(API)為基礎,API是android軟件平臺的重要組成部分,活動、服務\廣播接收者以及內容提供者是應用程序中最主要的四個組件[14]。本app也是基于四大組件進行開發的。
(1)Activity作為應用程序前臺界面接口,通過創建U I窗口,使用戶與應用程序交互進行交流、加載視圖、完成界面更新顯示。在Android的一個完整應用程序中,當應用程序完成啟動后,會按照順序加載Activity,系統以Activity棧的方式進行管理,遵循先進后出的原則,一個復雜的APP可能包含多個活動,每個活動都必須存儲在任務棧中,當應用程序完成時,活動實例將從任務堆棧中彈出Activity具有生命周期,它包含創建、開始、暫停、停止、喚醒等幾個狀態,狀態間的轉換可通過調用onCreate( )、onStart()、onStop ( )、onDestory ( )、onRe sume ( )等方法來實現。如圖2-2所示。
圖2-2 Activity生命周期圖
service是一種長生命周期的,沒有可視化界面,運行于后臺的一種服務程序。服務啟動的方式包括開啟和綁定,被開啟的service通過其他組件調用startService()被創建。這種service可以無限地運行下去,必須調用stopSelf()方法或者其他組件調用stopService()方法來停止它, 生命周期狀態有onCreate、onStartCommand、onDestroy等。被綁定的service是當其他組件(一個客戶)調用bindService()來創建的。客戶可以通過一個IBinder接口和service進行通信。客戶可以通過unbindService()方法來關閉這種連接。一個service可以同時和多個客戶綁定,當多個客戶都解除綁定之后,系統會銷毀service。bindService創建的Service,生命周期狀態有onCreate、onBind、onUnbind、onDestroy等幾種。Service的生命周期狀態具體如圖2-3所示。
圖2-3?Service生命周期圖
Broadcast Receive,也就是我們通常所說的廣播接收器,其用于響應來之其他應用程序或者系統的廣播消息。這些消息有時被稱為event或者intent。例如,應用程序可以初始化廣播來讓其他的應用程序指導一些數據已經被下載到設備,并可以為他們所用。這樣廣播接收器可以定義適當的動作來攔截這些通信。需要通過創建廣播接收器和注冊廣播接收器來使系統的廣播意圖配合廣播接收器工作。
ContentProvider的作用是為不同的應用之間數據共享,提供統一的接口,還實現了Android程序內部數據的跨進程通信和共享。Android常用數據存儲載體有數據文件存儲、數據庫、內存等,Content Provider可以實現不同進程之間共享的數據。數據共享是通過ContentResolver和ContentProvider,調用的方法總是成對出現。
Android Studio 是谷歌推出的一個Android集成開發工具,基于IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用于開發和調試。
3.1 集成開發環境
Android Studio 是用于開發 Android 應用的官方集成開發環境 (IDE),以 IntelliJ IDEA 為基礎構建而成。除了 IntelliJ 強大的代碼編輯器和開發者工具,Android Studio 還提供更多可提高 Android 應用構建效率的功能,例如:基于 Gradle 的靈活構建系統、快速且功能豐富的模擬器、統一的環境等。
3.1.1 JDK安裝
Android平臺是基于java語言開發的,在使用Android studio之前需要首先配置好java環境。首先需要下載JDK安裝包,創建環境變量,具體為創建JAVA_HOME為jdk路徑(如我自己的安裝目錄:C:\Program Files\Java\jdk1.8.0_201),設置JAVA_HOME的目的是想將JAVA_HOME當作接下來我們要設置的環境變量的引用路徑。
設置好環境變量后,通過命令行輸入輸入命令“java -version”,進行驗證,JDK安裝成功后,如圖3-1所示。
圖3-1 查看JDK安裝成功
3.1.2?Android studio簡介
Android Studio 是谷歌推出的一個Android集成開發工具,基于IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了集成的 Android 開發工具用于開發和調試。在IDEA的基礎上,Android Studio 提供:基于Gradle的構建支持,Android 專屬的重構和快速修復,提示工具以捕獲性能、可用性、版本兼容性等問題,支持ProGuard 和應用簽名基于模板的向導來生成常用的 Android 應用設計和組件,功能強大的布局編輯器,可以讓你拖拉 UI 控件并進行效果預覽。
3.1.3?Android studio安裝
在Android開發官網下載Android Studio安裝包,在bin目錄,找到studio.exe文件,點擊運行。如圖3-2所示
圖3-2 Android studio安裝向導
一直點擊next直到finish,點擊完成,Android studio安裝完成。如圖3-3所示。
圖3-3 Android studio安裝完成
3.1.4創建Android Studio工程
依次輸入工程名、Package Name、保存路徑、開發語言、最小支持的SDK版本、Activity的風格等選項內容,點擊完成則完成一個新的應用框架,后續則需要編寫相應的activity、service以實現具體的代碼邏輯,具體如圖3-4所示。
圖3-4?Android Studio工程創建過程圖
-
? 第四章?需求分析
所謂系統分析就是,需求人員通過與用戶的溝通,所獲取的信息,然后把這些信息通過需求說明書的方式展示給用戶和開發人員。在軟件功能發展的歷史長河中,很長時間,特別是最開始的時候,需求分析的重要性并不被人們所認同,例如當時美國IBM公司為英國電信公司開發一套信息管理系統,在需求不明確的情況下開始開發,最初的工期為一年,由于需求獲取不清晰導致工期推遲了半年多,造成巨大損失。我們很多軟件公司也存在這種情況,邊需求,邊開發,甚至與客戶沒有溝通清楚的情況下,直接照搬同類型的項目進行更改,導致到系統驗收的時候,重新更改,造成了人力、物力的極大浪費。而導致這一切后果的原因就是需求獲取不及時、不清楚、不全面。
這個基于Android的文件管理器APP客戶端要求在Android系統的手機上可以運行,主要實現了瀏覽文件(文件夾)、顯示路徑以及對目錄的一些基本操作(如:新建、刪除、粘貼等);提示用戶有關文件操作的菜單,如:打開、復制、剪切、重命名和新建等;在重命名和新建時需要彈出對話框輸入文件名;可以usb調試,讀取手機及sd卡的文件內容,并且還具有搜索動能。等主要功能模塊的操作和管理。總體分布如圖4-1所示:
?
4-1? 總體功能需求圖
系統實現給用戶展示的界面與該對象是面對面的,包括是否允許用戶簡單,方便使用,該請求的響應時間,對整體質量的主圖像,整體的布局的質量。
4.1 系統可行性分析
本APP在Android studio開發工具中進行開發,系統開發所使用的技術主要是JAVA語言和Android技術,也是當下廣泛應用的技術之一。
本APP的開發環境和配置都是可以自行安裝的,系統使用Android studio開發工具,APP開發所使用的技術主要是JAVA語言和Android技術,使用Android自帶的SQLite數據庫進行對系統用戶之間的數據交互,根據技術語言對數據庫,結合需求進行修改維護,可以使得APP運行更具有穩定性和安全性,從而完成實現APP的開發運用。
(1)硬件可行性分析
基于Android的文件管理器的設計對于所使用的計算機沒有什么硬性的要求,主流的能運行Android studio的計算機設備即可,對于能夠運行app的智能終端,可以選擇Android studio的虛擬終端,也可以選擇個人智能安卓手機。
(2)軟件可行性分析
開發整個文件管理器使用的是java語言,并不需要太復雜的技術,主要的文件管理器算法是通過計算步數,其他的附加功能都是根據代碼邏輯進行設計,其也是能夠實現的。
文件管理器主要采用java前端技術,具備完整功能,使用簡單的特點。基于Android的文件管理器具有很高可行性,且開發人員掌握了一定的開發技術,所以系統的開發具有可行性。
文件管理器利用Android APP進行注冊登錄,簡單易于操作,采用常見的APP設計界面,通過手機端進行訪問操作。此系統的開發采用java語言開發,基于Android開發框架結構,這些開發環境使系統更加完善。本系統具有易操作、易管理、交互性好的特點,在操作上是非常簡單的。因此本系統可以進行開發。
(5)法律可行性
此文件管理器是自己設計的管理系統,具有很大的實際意義。因為無論是軟件還是數據庫,采用的都是開源代碼,因此這個系統的開發和設計,并不存在侵權等問題,在法律上完全具有可行性。
綜上所述,茶室客戶自帶茶品管理系統在技術、經濟、操作和法律上都具有很高的可行性,開發此程序是可行的。