淺談Android項目目錄
全文約2170字
距離上次發文已經過去了1…2……3……N天,不過不用擔心公眾號會死掉,只要我有一天還活著,就有發出下一篇文章的可能。
上次雖然成功寫出了HelloWorld,但是我們貌似一行代碼也沒有寫。在真正開始動手寫自己的代碼之前,我們先來分析一下一個Android 項目的結構,這樣我們就能知道,我們的代碼要在哪裡操作了。
首先打開AS左側的「Project」選項卡,在這裡我們可以切換多種試視圖模式,本篇文章用「Project」視圖來分析一下一個Android 工程的文件目錄結構以及他們的作用。
Project視圖
先切換到「Project」視圖,這是我們項目最真實的視圖,可以打開在磁碟中項目的根目錄,可以發現兩者是一樣的,這也是我為什麼要用這個視圖來介紹的原因。
1..gradle,.idea,.build
這三個目錄中的文件都是AS自動生成的東西,我們不必去研究他們,也不需要去研究他們,需要去操作他們的情況少之又少。可能有時候我們在移動項目的根目錄時,編譯器會莫名的報錯,這時候可能需要刪掉這三個包,讓AS重新生成。
2.gradle
這個目錄中包含了gradle wrapper的配置文件,涉及到gradle方面的知識都比較晦澀,我們先不深入研究。gradle wrapper是一個腳本文件,可以在我們沒有安裝gradle的情況下幫我們自動下載gradle。
3..gitignore
Git,是版本控制工具,ignore是忽略的意思,那麼這個文件也就是用來排除指定不需要進行版本控制的的目錄或文件。
4.build.gradle(project)
整個項目有兩個名為build.gradle的文件,一個用來配置project,一個用來配置app模塊。我們現在看到的是用來配置project的。通常我們在項目中用到的第三方插件,maven倉庫等,需要在此文件中聲明。另外一個build.gradle,在下面我們遇到的時候再說明。
5.gradle.properties
gradle的全局配置文件,使用key定義數據,在其他文件中引用。
6.gradlew,gradlew.bat
兩個文件都是用於在命令行中執行gradle命令的,其中gradlew用在Linux或Mac OS中,gradlew.bat用在Windows中。
7.Hello.iml
這個文件用於表示這個項目為一個IntelliJ IDEA項目,為什麼是IntelliJ IEDA項目呢,因為我們使用的AS編譯器是基於IntelliJ IDEA開發的,用過IntelliJ IDEA的同學能夠感覺到他兩個是很相似的。
8.local.properties
用於指定我們Android SDK的路徑,如果我們移動了SDK目錄位置,則需要更改此文件中的配置。
9.settings.gradle
也是全局的配置文件,主要用來聲明需要加入的gradle的module。以我們的Hello項目為例,因為只有一個app模塊,所以只有一條語句。
說了那麼多好像我們掉下了一個目錄,不急,我們下面就來說這個重要的目錄。
10.app
我們編寫的代碼就是放在這裡面的,以後我們在進行項目工作時,大部分工作也是在這個目錄中來完成的。接下來我們對這個目錄展開分析。
10.1build
和外面目錄的build文件類似,也是AS自動生成的,同樣無需關心。
10.2libs
在我們需要引用外部的jar包時,就把jar包放到這個目錄中。
10.3gitignore,app.iml
和外面目錄的重名文件作用相似,gitignore用來排除app目錄內文件的版本控制,app.iml也是IntelliJ IDEA自動生成的文件。
10.4build.gradle(app)
這個build.gradle是用來配置app模塊的,如果我們在程序中使用到了依賴包,需要在此聲明。
10.5proguard-rules.pro
這個文件用於在打包生成apk文件時編寫代碼混淆規則,因為我們編譯生成的apk文件,通過反編譯工具還是可以還原裡面的代碼的,就像壓縮文件一樣。通過這個文件我們就可以在把代碼混淆掉,從而增加反編譯後的閱讀困難,避免我們的代碼泄露。
10.6src
我們的代碼就在這裡面了。
10.6.1androidTest,test
進行項目的單元測試用到的目錄文件。
10.6.2main
裡面包含了三個文件,其中java文件夾就是用來編寫java代碼的地方,res文件夾裡面存放著我們需要的各種資源文件。AndroidManifest.xml文件用於註冊Android中的四大組件,還有用到的一些許可權,也需要在這裡面聲明。
java
res
AndroidManifest.xml
由於main文件夾裡面太常用了,所以我們就不做過多的說明了,其實也沒什麼好說的,這個文件夾簡單純粹的很,沒有套路,在我們的使用中,會很快就能理解main裡面的內容的。
說到這裡我們的整個目錄就說明完了,這是我們進行Android開發的第一步,因為涉及的內容很多,一下子不理解也沒有關係,等我們寫一段時間代碼之後再來看這些東西,你會發現,哇,原來是這樣!
Project視圖完整的展現了我們實際目錄的樣子,看起來確實很複雜,我們在實際開發中可以切換到Android視圖來操作,這樣就很方便明了了,學會在特定的時間切換合適的視圖,可以大幅度的提升我們的開發效率。
每文一句:
你還記得
你小時候的夢想嗎
現在呢?
TAG:老A之家 |