《Android》項目目錄結(jié)構(gòu)解讀

我們新建一個 Android 工程之后,發(fā)現(xiàn)項目有很多文件夾和文件,對于初學者可能搞不清到底從哪里下手,哪些需要關(guān)注,哪些暫時不用理會,以縮短學習成本。下面我們來一個個介紹下。

我們新建一個 Android 工程,工程名叫 AndroidCourse,在 Android Studio 中展示如下:

項目結(jié)構(gòu)
  • AndroidCourse
    項目名

  • .gradle .idea
    這兩個目錄項目構(gòu)建時生成的緩存文件,開發(fā)者無需干預。

  • app
    開發(fā)者需要操作的大多在這個目錄下面,里面包含了代碼文件、資源文件、jar 包等等,后面我們展開這個目錄詳細講解。

  • build
    編譯時自動生成的文件,開發(fā)者無需干預。

  • gradle
    這個目錄下包含了 gradle wrapper 的配置文件。

  • .gitignore
    這個文件是用來將指定的目錄或文件排除在版本控制之外的,這樣你在 git 合并或者提交時,并不會比對這些文件,也不會將這些文件的本地改動提交。

  • AndroidCourse.iml
    iml文件是所有IntelliJ IDEA項目都會自動生成的一個文件(Android Studio 是基于 IntelliJ IDEA 開發(fā)的),用于標識這是一個 IntelliJ IDEA 項目,開發(fā)者無需干預。

  • build.gradle
    這是項目全局的 gradle 構(gòu)建腳本,大多數(shù)情況不需要操作該文件。

  • gradle.properties
    這個文件是全局的 gradle 配置文件,在這里配置的屬性將會影響到項目中所有的 gradle 編譯腳本。

  • gradlew gradlew.bat
    這兩個文件是用來在命令行界面中執(zhí)行 gradle 命令的,其中 gradlew 是在 Linux 或 Mac 系統(tǒng)中使用的,gradlew.bat 是在 Windows 系統(tǒng)中使用的。

  • local.properties
    配置 Android SDK 的路徑,自動生成的,也可以手動修改路徑。

  • README.md
    markdown 文件,這是我自己添加的,用于備注一些信息。

  • settings.gradle
    配置項目的模塊。如果需要引入其它模塊的話,可以在這個文件里添加,通常項目不需要修改。

重點講解 app 文件夾

下面我們把 app 文件夾展開重點講解,對于初學者,或者在大多數(shù)情況下,我們只需要在這里面操作。

項目結(jié)構(gòu)
  • libs
    放一些 jar 包,比如你接入第三方平臺的話,例如微信分享、支付、QQ登陸等等,那么你可能需要把他們提供的 jar 包放在該目錄下,或者參照第三方平臺提供的 demo,讓你放在哪,就放在哪。

  • src
    這個文件夾就是存放各種資源了,包括代碼資源、圖片資源等等。

  • src/androidTest
    單元測試的代碼。

  • src/main
    (5顆星)最主要的文件夾。

  • src/main/assets
    放置一些不需要被編譯成二進制的文件,比如內(nèi)置的db文件。

  • src/main/java
    java代碼都在這里。

  • src/main/res/anim
    默認是沒有這個文件夾的,這個文件是我新建的,當你需要存放動畫xml資源的時候,你就需要新建這么一個文件夾 anim,大家先記著,用到時候就知道有這么回事了。

  • src/main/res/drawable
    存放自定義的背景xml文件,用來設(shè)置視圖的背景。注意,我這種說法是實際開發(fā)中就這么做的,當然,你也可以把圖片放里面,不是不可以。

  • src/main/res/drawable-xxhdpi
    這個文件夾默認也是沒有的,是我新建的,當然實際上你還可以新建drawable-hdpi、drawable-xhdpi、drawable-xxxhdpi,用來存放不同尺寸的圖片資源。

  • src/main/res/layout
    存放布局 xml 文件,包括 Activity 的布局文件,自定義 View 的布局文件等等。

  • src/main/res/mipmap-*
    存放不同尺寸的 APP 的啟動圖標。

  • src/main/res/values
    存放顏色、單位、自定義屬性、樣式等 xml 文件。

  • src/main/res/AndroidManifest.xml
    每一個 Activity 都需要在這個文件里面注冊,還可以設(shè)置默認啟動的 Activity,設(shè)置權(quán)限等等。

  • src/test
    單元測試代碼。

  • .gitignore
    和外層 .gitignore 類似,將制定目錄或文件排除在版本控制之外。

  • app.iml
    和外層 .iml 文件一樣,IntelliJ IDEA 項目自動生成的文件,不需要干預。

  • build.gradle
    這個還是很重要的,當然,初學者暫止也無需關(guān)心。Android Studio 通過 Gradle 來構(gòu)建項目,我們可以在 build.gradle 配置很多信息,例如需要引入的庫、release 包和 debug 包的不同配置、各個渠道包的配置等等。Gradle 是一個知識體系,深入學習的話還是有很多內(nèi)容的。

  • proguard-rules.pro
    混淆文件。我們防止別人通過安裝包獲取到源代碼,所以通過此文件對代碼進行混淆,從而破壞代碼的閱讀性??梢灾付ú糠职旅娴拇a混淆,或者指定部分文件混淆;也可以指定部分文件不混淆,任由你配置。


謝謝支持!
看完這篇,你就算精通TextView了
Android 布局優(yōu)化
Android 逐幀動畫
Android 視頻教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容