Android Studio安卓學習筆記(二)Android項目結構


上一篇代碼,我們學習了Android的功能以及如何用Android Studio開發第一個安卓程序。下面就要介紹Android項目結構。為日后學習打基礎。

 

一:Android項目結構

打開MyFristApp,可以看到如下項目目錄和文件結構:

這里對app模塊下的文件進行介紹。

 

1.manifests

其下的AndroidMainfest.xml為項目的配置信息文件:

 

2.java

主要是java源代碼和測試代碼。下面的文件是主文件:

 

3.res

主要是資源目錄,存儲所有的項目資源:

下面是文件夾的功能說明:

目錄結構 資源類型
res\values 存放字符串,顏色,尺寸,數組,主題,類型等資源
res\layout XML布局文件
res\drawable 圖片(bmp,png,gif,jpg等)
res\anim XML格式的動畫資源(幀動畫和補間動畫)
res\mipmap 存儲系統的圖片資源
res\raw 可以存放任意類型的文件,一般比較大的文件,會在Rl類中生成資源id,封裝在apk中
assets 可以存放任意類型,不會被編譯,與raw相比,不會在R類中生成資源id

下面是常用的目錄簡介:

(1)mipmap

功能:存儲系統的圖片資源

可以看到出現了兩個文件夾,一個是方形的圖片文件存放處,一個是圓形的圖片文件存放處。

后面的括號內的代表不同的分辨率,是為了使應用程序在分辨率大小不同的顯示窗體上都可以順利顯示。

(2)layout

這里存放XML布局文件,就是用戶界面布局文件,有一個系統自動生成的activity_main.xml文件,可以按可視化的圖形設計界面顯示,也可以按代碼設計界面顯示:

a:圖形設計界面


b:代碼設計界面

"android:layout_width":定義當前視圖在屏幕上所占的寬度,match_parent即填埋整個寬度。
同理android:layout_height是定義當前視圖在屏幕上所占的高度。
android:layout_width="wrap_content"
android:layout_height="wrap_content"
自適應大小,用於顯示其全部的文字內容。
在應用程序中如果使用用戶界面的組件時,則需要通過R.java文件中的R類調用。

上面都是相對布局配置。

(3)values

該目錄存放參數描述文件資源。也是XML文件。都是通過R類來調用。




4.R.java目錄
該文件將res目錄中的資源與id編號進行映射,很方便地對資源進行引用。該文件是自動生成的,不允許用戶修改。
在系統中引用資源都需要使用R類。
專業解釋是:R.java會自動收錄當前應用中所有的資源,並根據這些資源建立對應的ID,包括:布局資源、控件資源、String資源、Drawable資源等。可以簡單的把R.java理解成是當前Android應用的資源字典。
有時候會由於操作失誤造成MainActivity找不到R.java文件,這時候只需要點擊如下位置即可:


5.Gradle Scripts:build.gradle為項目的gradle配置文件。

6.Android應用程序結構分析
從上面的Android應用程序可以看到,一個Android應用程序通常由Activity類程序(Java源程序)和用戶界面布局XML文檔組成。
邏輯控制層由Java應用程序實現,表現層由XML文檔描述。
主程序和Java一樣。

7.AppCompatActivity與Activity區別
我們在寫源程序時,會有兩個繼承的父類,這兩個大體上是相同的,但有些地方還是有些區別。
當使用Eclipse開發Android應用的時候,當創建項目的時候,MainActivity自動繼承的是Activity,而在使用Android Studio開發Android應用的時候,創建項目時,自動繼承的是AppCompatActivity。
(1)AppCompatActivity簡介
AppCompatActivity是Google后來退出的Activity  AS默認讓我們繼承它   因為他可以使用Android中的新特新   ToolBar   我平時使用的很少   如果使用toolbar需要繼承AppCompatActivity。
(2)AppCompatActivity默認帶標題
在繼承AppCompatActivity時,界面最上面會出現一個ActionBar,
但Activity不帶。
(3)AppCompatActivity和 
requestWindowFeature(Window.FEATURE_NO_TITLE); 
有沖突。

8.出現的問題
在運行代碼時,可能會出現下面的問題:

它的含義如下:

在Android Studio3.0之后的版本解決方法如下:


結果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM