Eclipse,Android Studio項目結構圖與SDK工程目錄結構圖

導讀

最近想重新複習、整理下以前的筆記,也方便下剛學習Android的同學們或從eclipse轉Android Studio的同志們,作以下文章提供學習0.0

看圖以簡析爲準,有新增內容


Eclipse 項目結構:

Eclipse 項目結構圖:

這裏寫圖片描述

==注意:==

  1. 如果同學們發現有些目錄沒有,那是因爲需要自己創建的

Eclipse 工程目錄結構簡析:

  • src:java源代碼存放目錄

  • gen:系統自動生成的文件目錄

  • R.java 中記錄了項目中各種資源ID

  • assets:資源文件目錄,不會在R文件註冊,文件會原封不動的保存到apk包中

  • libs 工程依賴庫目錄(jar包),會被添加到android depend 目錄下

  • res:系統資源目錄,所有文件都會在R文件生成資源ID

  • res/anim/ (自創建文件)

    • 存放定義漸變動畫的XML文件

    • res/animator/ (自創建文件)

    - 存放定義屬性動畫的XML文件

  • drawable:存放應用程序的圖片 (自創建文件)

    • h high 高分辨率
    • l low 低分辨率
    • m middle 中間分辨率
    • x 特大分辨率
    • xx 超大分辨率
  • layout:界面佈局目錄

  • res/raw/ (自創建文件)

    • 該目錄用於存放應用使用到的原始文件,如音效文件等。編譯軟件時,這些數據不會被編譯,不會在R文件註冊,文件會原封不動的保存到apk包中(raw與assert調用方式不同)
    • 要使用原始 InputStream 打開這些資源,請使用資源 ID(即 R.raw.filename)調用Resources.openRawResource()。
    • 但是,如需訪問原始文件名和文件層次結構,則可以考慮將某些資源保存在 assets/ 目錄下(而不是 res/raw/)。assets/ 中的文件沒有資源 ID,因此您只能使用 AssetManager 讀取這些文件。
  • res/values/:專門存放應用使用到的各種類型數據目錄。不同類型的數據存放在不同的文件中.

    • strings.xml 定義字符串和數值
    • arrays.xml 定義數組
    • colors.xml定義顏色和顏色字串數值
    • dimens.xml 定義尺寸數據
    • styles.xml 定義樣式。(可自定義一個新的.xml文件,專門放我們自定義的style)
    • attrs.xml 自定義控件屬性設計(自定義)
  • res/xml/ (自創建文件)

    • 在Activity中使用getResources().getXML()讀取該目錄下的XML資源文件
    • preference.xml PreferenceActivity或PreferenceActivity的佈局文件
    • 可以在運行時通過調用 Resources.getXML() 讀取的任意 XML 文件。各種 XML 配置文件(如可搜索配置)都必須保存在此處。
  • AndroidManifest.xml:清單文件(程序入口文件),在軟件安裝的時候被讀取

    • Android中的四大組件(Activity、ContentProvider、BroadcastReceiver、Service)都需要在該文件中註冊,程序所需的權限也需要在此文件中聲明,例如:電話、短信、互聯網、訪問SD卡
  • proguard-project.txt: 項目混淆文件, 保護代碼

  • project.properties:項目環境配置文件,讀取該項目使用Android版本號.早期版本名爲:default.properties

  • bin:二進制文件,包括class、資源文件、dex、apk等

  • proguard.cfg:用來混淆代碼的配置文件,防止別人反編譯


Android Studio 項目結構:

Android Studio 項目結構圖:

這裏寫圖片描述

這裏寫圖片描述

==注意:==

  1. res目錄,所有以drawable開頭的文件夾用來放圖片,以mipmap開頭的放應用圖標,以value開頭的放字符串、樣式、顏色等配置的,以layout開頭的放佈局文件
  2. 由於Android Studio 沒有提供drawable-xxx,建議自己創建這些文件夾,一般都放在drawable-xxhdpi文件夾下即可
  3. .9圖只能放在drawable目錄下

Android Studio 工程目錄結構簡析:




    ├─.gradle 系統自動生成的gradle目錄(不用關心)
    ├─.idea   系統自動生成的關於AS的環境配置目錄.包括版權,字典,jar包信息,項目名稱,編譯信息等等
    │  .gitignore   git忽略文件列表
    │  build.gradle     項目全局的Gradle構建腳本
    │  gradle.properties  全局的Gradle配置文件,這裏配置的屬性會影響到項目中所有的gradle編譯版本
    │  gradlew      用於在命令行界面中執行gradle命令(只能在Linux或Mac中使用)
    │  gradlew.bat  用於在命令行界面中執行gradle命令(只能在Windows中使用)
    │  local.properties  本地屬性文件,用於指定本地Android sdk路徑
    │  MyApplication.iml IntelliJ IDEA項目自動生成的文件.(不用關心)
    │  settings.gradle  用於指定項目中所有引入的模塊.(不用關心)
    │  
    ├─app                       moudle 目錄,項目的代碼,資源等內容都放這裏
    │  │  .gitignore            git忽略文件列表
    │  │  app.iml               IntelliJ IDEA項目自動生成的文件(不用關心)
    │  │  build.gradle          當前Module的Gradle編譯文件
    │  │  proguard-rules.pro    proguard混淆文件
    │  │  
    │  ├─build  系統自動生成的當前moudle的編譯目錄,相當於Eclipse中默認Java工程的bin目錄.編譯生成的apk在此目錄
    │  ├─libs   jar依賴包存放目錄
    │  └─src    java源代碼存放目錄
    │      ├─androidTest  用於編寫Android測試用例的
    │      │  └─java
    │      │      └─zs
    │      │          └─xmx
    │      │              └─myapplication
    │      │                      ApplicationTest.java
    │      │
    │      ├─test  用於編寫Unit測試用例的
    │      │
    │      └─main  主目錄(存放java文件,資源,清單文件)
    │          │  AndroidManifest.xml   清單文件,用於給應用程序添加權限聲明
    │          │  
    │          ├─java       java源碼目錄
    │          │  └─zs
    │          │      └─xmx
    │          │          └─myapplication
    │          │                  MainActivity.java
    │          │                  
    │          └─res        資源文件目錄
    │              ├─drawable  圖片資源.9圖片只能放到drawable目錄下,建議自己創建如下mipmap-xxx文件,一般都放在drawable-xxhdpi文件夾下即可 
    │              │
    │              ├─layout    界面佈局目錄
    │              │      activity_main.xml
    │              │      
    │              ├─menu  menu菜單xml文件
    │              │      menu_main.xml
    │              │      
    │              ├─mipmap-hdpi             高分辨率圖標
    │              │      ic_launcher.png
    │              │      
    │              ├─mipmap-mdpi             中間分辨率圖標
    │              │      ic_launcher.png
    │              │      
    │              ├─mipmap-xhdpi            特大分辨率圖標
    │              │      ic_launcher.png
    │              │      
    │              ├─mipmap-xxhdpi           超大分辨率圖標
    │              │      ic_launcher.png
    │              │      
    │              ├─values  專門存放應用使用到的各種類型數據目錄。不同類型的數據存放在不同的文件中.
    │              │      strings.xml 定義字符串和數值
    │              │      arrays.xml 定義數組
    │              │      colors.xml定義顏色和顏色字串數值
    │              │      dimens.xml 定義尺寸數據
    │              │      styles.xml 定義樣式。
    │              │      attrs.xml 自定義控件屬性設計(自定義)
    │              │      
    │              │      
    │              └─values-w820dp
    │                      dimens.xml
    │                      
    ├─build    系統自動生成項目空間的編譯目錄
    └─gradle   gradle 目錄,包含了gradle wrapper的配置文件
        └─wrapper   gradle wrapper可以看作是對gradle的封裝,它可以使得在沒有安裝gradle的電腦上也可以使用Gradle進行構建.(不用關心)
                gradle-wrapper.jar   gradle 下載的jar包緩存,具體在 .gradle\caches\modules-2\files-2.1目錄
                gradle-wrapper.properties   聲明瞭gradle的目錄與下載路徑以及當前項目使用的gradle版本


補充 : 需要自己建立的文件夾

main/assets/ 
main/aidl/
main/jni/  -->放置c代碼
main/jniLibs/ -->放置so庫
main/res/raw/-->放原始文件
main/res/anim/-->放漸變動畫XML文件
main/res/animator/-->放屬性動畫XML文件
main/res/xml/ --> xml資源文件 

可參照Eclipse結構簡析


SDK工程目錄結構:

SDK工程目錄結構圖:

這裏寫圖片描述

SDK工程目錄簡析:

  • add-ons: 附加組件,放在一個額外的工具.google api,提供google地圖的jar包

  • build-tools: 編譯工具,谷歌sdk升級後採用的目錄

  • docs: 文檔目錄.開發文檔.

  • extras: 附加工具

  • support: 提供向下兼容的jar包.和額外的驅動,攝像頭驅動,手機驅動

  • platform: 開發平臺

  • platform tools: 開發的工具

  • sample: 實例代碼

  • source: 源代碼

  • system-image: 系統鏡像

  • tools目錄: 開發工具

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章