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

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

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

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

  • .gradle .idea
    這兩個(gè)目錄項(xiàng)目構(gòu)建時(shí)生成的緩存文件,開(kāi)發(fā)者無(wú)需干預(yù)。

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

  • build
    編譯時(shí)自動(dòng)生成的文件,開(kāi)發(fā)者無(wú)需干預(yù)。

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

  • .gitignore
    這個(gè)文件是用來(lái)將指定的目錄或文件排除在版本控制之外的,這樣你在 git 合并或者提交時(shí),并不會(huì)比對(duì)這些文件,也不會(huì)將這些文件的本地改動(dòng)提交。

  • AndroidCourse.iml
    iml文件是所有IntelliJ IDEA項(xiàng)目都會(huì)自動(dòng)生成的一個(gè)文件(Android Studio 是基于 IntelliJ IDEA 開(kāi)發(fā)的),用于標(biāo)識(shí)這是一個(gè) IntelliJ IDEA 項(xiàng)目,開(kāi)發(fā)者無(wú)需干預(yù)。

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

  • gradle.properties
    這個(gè)文件是全局的 gradle 配置文件,在這里配置的屬性將會(huì)影響到項(xiàng)目中所有的 gradle 編譯腳本。

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

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

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

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

重點(diǎn)講解 app 文件夾

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

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

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

  • src/androidTest
    單元測(cè)試的代碼。

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

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

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

  • src/main/res/anim
    默認(rèn)是沒(méi)有這個(gè)文件夾的,這個(gè)文件是我新建的,當(dāng)你需要存放動(dòng)畫(huà)xml資源的時(shí)候,你就需要新建這么一個(gè)文件夾 anim,大家先記著,用到時(shí)候就知道有這么回事了。

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

  • src/main/res/drawable-xxhdpi
    這個(gè)文件夾默認(rèn)也是沒(méi)有的,是我新建的,當(dāng)然實(shí)際上你還可以新建drawable-hdpi、drawable-xhdpi、drawable-xxxhdpi,用來(lái)存放不同尺寸的圖片資源。

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

  • src/main/res/mipmap-*
    存放不同尺寸的 APP 的啟動(dòng)圖標(biāo)。

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

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

  • src/test
    單元測(cè)試代碼。

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

  • app.iml
    和外層 .iml 文件一樣,IntelliJ IDEA 項(xiàng)目自動(dòng)生成的文件,不需要干預(yù)。

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

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


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

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

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

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