Android Studio目錄結構及工程專案結構解析
Android Studio目錄結構
新建工程專案後AS的Project
目錄結構如下所示:
.idea://AS生成的工程配置檔案,類似Eclipse的project.properties。
app://AS建立工程中的一個Module。
gradle://構建工具系統的jar和wrapper等,jar告訴了AS如何與系統安裝的gradle構建聯絡。
External Libraries://不是一個資料夾,只是依賴lib檔案,如SDK等。
新建工程專案後AS
的Module
目錄結構如下所示:
build://構建目錄,相當於Eclipse中預設Java工程的bin目錄,滑鼠放在上面右鍵Show in Exploer即可開啟資料夾,
編譯生成的apk也在這個目錄的outs子目錄,不過在AS的工程裡是預設不顯示out目錄的,就算有編譯結果也
不顯示,右鍵開啟通過資料夾直接可以看。
libs://依賴包,包含jar包和jni等包。
src://原始碼,相當於eclipse的工程。
main://主資料夾
java://Java程式碼,包含工程和新建是預設產生的Test工程原始碼。
res://資原始檔,類似Eclipse。
layout://App佈局及介面元素配置,雷同Eclipse。
menu://App選單配置,雷同Eclipse。
values://雷同Eclipse。
dimens.xml://定義css的配置檔案。
strings.xml://定義字串的配置檔案。
styles.xml://定義style的配置檔案。
......://arrays等其他檔案。
......://assets等目錄
AndroidManifest.xml://App基本資訊(Android管理檔案)
ic_launcher-web.png://App圖示
build.gradle://Module的Gradle構建指令碼
1.res資原始檔夾介紹:
res
目錄下所有的資原始檔都會在R.java
檔案下生成對應的資源id
,我們可以直接通過資源id訪問到對應的資源;這個R
檔案可以理解為字典,res
下每個資源都都會在這裡生成一個唯一的id
!
//程式碼提示快捷鍵:Ctrl+Alt+空格鍵選中activity_main可以開啟到指定的R.java檔案中。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//1.圖片資源:
drawable:存放各種點陣圖檔案,(.png,.jpg,.9png,.gif等)除此之外可能是一些其他的drawable型別的XML檔案
mipmap-hdpi:高解析度,一般我們把圖片丟這裡
mipmap-mdpi:中等解析度,很少,除非相容的的手機很舊
mipmap-xhdpi:超高解析度,手機螢幕材質越來越好,以後估計會慢慢往這裡過渡
mipmap-xxhdpi:超超高解析度,這個在高階機上有所體現
//2.佈局資源:
layout:該目錄下存放的就是我們的佈局檔案,另外在一些特定的機型上,我們做螢幕適配,比如480*320這樣的手機,我們會另外建立一套佈局,就行:layout-480x320這樣的資料夾!
//3.選單資源:
menu:在以前有物理選單按鈕,即menu鍵的手機上,用的較多,現在用的並不多,選單項相關的資源xml可在這裡編寫,不知道谷歌會不會出新的東西來替代選單了~
//4.values目錄
demens.xml:定義尺寸資源
string.xml:定義字串資源
styles.xml:定義樣式資源
colors.xml:定義顏色資源
arrays.xml:定義陣列資源
attrs.xml:自定義控制元件時用的較多,自定義控制元件的屬性!
theme主題檔案,和styles很相似,但是會對整個應用中的Actvitiy或指定Activity起作用,一般是改變視窗外觀的!可在Java程式碼中通過setTheme使用,或者在Androidmanifest.xml中為<application...>新增theme的屬性! PS:你可能看到過這樣的values目錄:values-w820dp,values-v11等,前者w代表平板裝置,820dp代表螢幕寬度;而v11這樣代表在API(11),即android 3.0後才會用到的!
//5.在接著說下raw目錄:
用於存放各種原生資源(音訊,視訊,一些XML檔案等),我們可以通過openRawResource(int id)來獲得資源的二進位制流!其實和Assets差不多,不過這裡面的資源會在R檔案那裡生成一個資源id而已
//6.最後還有個動畫的:
動畫有兩種:屬性動畫和補間動畫:
animator:存放屬性動畫的XML檔案
anim:存放補間動畫的XML檔案
2.深入瞭解三個檔案:
好了,接下來我們就要剖析工程裡三個比較重要的檔案: MainActivity.java
,佈局檔案:activity_main
和Android
配置檔案:AndroidManifest.xml
MainActivity.java:
佈局檔案:activity_main.xml
:
配置檔案AndroidManifest.xml
:
AndroidManifest
檔案中含有如下過濾器的Activity
元件為預設啟動類當程式啟動時系統自動呼叫它
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
相關文章
- Tomcat目錄結構解析Tomcat
- Android Studio專案目錄結構簡介Android
- jmeter基礎之目錄結構解析及配置檔案修改JMeter
- Android 目錄結構分析Android
- 2.3 sqlmap目錄及結構SQL
- §1.2 Android專案結構及“Hello World”應用解析Android
- Linux 目錄結構及檔案基本操作Linux
- Android Studio “Project Structure”選專案錄結構顯示異常AndroidProjectStruct
- Android專案目錄結構Android
- Android SDK目錄結構介紹Android
- PostgreSQL 目錄結構SQL
- fabric 目錄結構
- dedecms 目錄結構
- iOS專案的目錄結構和開發流程iOS
- Android原始碼目錄結構詳解Android原始碼
- Linux 目錄結構及詳細操作Linux
- Tomcat目錄結構Tomcat
- 分析Angular目錄結構Angular
- Jmeter之目錄結構JMeter
- ecos框架目錄結構框架
- linux 目錄結構Linux
- 系統目錄結構
- django的目錄結構Django
- 整理一波Go工程化目錄結構~Go
- React系列—React+Redux工程目錄結構劃分ReactRedux
- Linux檔案系統目錄結構Linux
- SQLServeronLinux的檔案和目錄結構SQLServerLinux
- [轉]DB2目錄檔案結構DB2
- 程式碼目錄結構記錄
- Android SDK目錄結構和工具介紹Android
- (2)caffe總結之目錄結構
- 目錄結構檢視及目錄下各個檔案的大小的統計
- ionic3 angular專案目錄結構解析Angular
- PostgreSQL:原始碼目錄結構SQL原始碼
- postgre目錄結構簡介
- ThinkPHP5.0目錄結構PHP
- linux的目錄結構Linux
- Helm目錄結構講解