新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Android目錄結構(詳解)

        Android目錄結構(詳解)

        作者: 時間:2016-10-08 來源:網絡 收藏

        下面是HelloAndroid項目在eclipse中的目錄層次結構:

        本文引用地址:http://www.104case.com/article/201610/305445.htm

        由上圖可以看出項目的根目錄下共有九個文件(夾),下面就這九個文件(夾)進行詳解:

        1.1src文件夾和assets文件夾:

        每個Android程序都包含資源目錄(src)和資產目錄(assets),資源和資產聽起來感覺沒有多大差別,但在存儲外部內容時用資源(src)比較多,其中它們的區別在于存放在資源(src)下的內容可以通過應用程序的R類進行訪問,而存放在資產(assets)下的內容會保持原始文件的格式,如果需要訪問,則必須使用AssetManager以字節流的方式來讀取,用起來非常的不方便。為了方便使用,通常文件和數據都會保存在資源(src)目錄下

        1.2res(Resource)目錄:資源目錄

        可以存放一些圖標,界面文件和應用中用到的文字信息,下圖為res目錄截圖:

        1.2.1 drawable-*dpi文件夾:將圖標按分辨率的高低放入不同的目錄,其中draeable-hdpi用來存放高分辨率的圖標,drawable-mdpi用來存放中等分辨率的圖標,drawable-ldpi用來存放低分辨率的圖標

        1.2.2 values文件夾:用來存放文字的信息

        (1)strings.xml:用來定義字符串和數值

        Hello World, Hello 3G

        Android1.1

        哥想你了

        按鈕1

        按鈕1

        每個string標簽生命了一個字符串,name屬性指定它的引用值

        (2)為什么要把這些出現的文字單獨放在strings.xml文件中?

        答案:一是為了國際化,如果需要將文件中的文字換成別的國家的語言,就可以只需要替換掉一個strings.xml文件就可以了

        二是為了減少應用的體積,例如,我們要在應用中使用“哥想你了”這句話1000次,如果我們沒有將“哥想你了”定義在strings.xml文件中,而是直接在應用中使用時寫上這幾個字,那么我們就會在應用中寫4000個字。4000個字和4個字占用的內存可是有很大差距的啊,況且手機的內存本來就小,所以應該是能省就省

        (3)另外還有arrays.xml,color.xml等定義數組,顏色的,都最好用單獨的一個xml文檔

        1.2.3 layout文件:用來存放界面信息

        本例中的布局文件是自動生成的“main.xml”

        android:layout_width=fill_parent

        android:layout_height=fill_parent

        android:orientation=vertical>

        android:layout_width=fill_parent

        android:layout_height=wrap_content

        android:text=@string/test/>

        元素:線性布局的意思,在該元素下的所有子元素都會根據他的”orientation”屬性來決定是按行還是按列或者按逐個顯示進行布局的

        元素:是一種顯示控件,他的”text”屬性指定了在這個元素上顯示的內容

        1.3 gen目錄:gen目錄下只有一個自動生成的“R.java”文件

        /*AUTO-GENERATED FILE. DO NOT MODIFY.

        *

        * This class was automatically generated bythe

        * aapt tool from the resource data itfound. It

        * should not be modified by hand.

        */

        packagecn.csdn.android.demo;

        public final class R {

        public static final class attr {

        }

        public static final class drawable {

        public static final int ic_launcher=0x7f020000;

        }

        public static final class id {

        public static final int button1=0x7f050000;

        public static final int radioButton1=0x7f050001;

        public static final int toggleButton1=0x7f050002;

        }

        public static final class layout {

        public static final int main=0x7f030000;

        }

        public static final class string {

        public static final int app_name=0x7f040001;

        public static final int hello=0x7f040000;

        public static final int start=0x7f040004;

        public static final int startButton=0x7f040003;

        public static final int test=0x7f040002;

        }

        }

        R.java文件:默認有attr,drawable,layout,string這四個靜態內部類,每個靜態內部類對應一中資源,如layout靜態內部類對應layout中的界面文件,string靜態內部類對應string內部的string標簽。如果在layout中在增加一個界面文件或者在string內增加一個string標簽,R.java會自動在其對應的內部類增加所增加的內容。

        R.java除了自動標識資源的索引功能外,還有另一個功能,就是當res文件中的某個資源在應用中沒有被用到,在這個應用被編譯時,系統不會把對應的資源編譯到應用中的APR包中。

        1.4 AndroidManifest.xml 功能清單文件

        每個應用程序都會有一個AndroidManifest在它的根目錄里面。這個清單為Android系統提供了這個應用的基本信息,系統在運行之前必須知道這些信息,另外,如果我們使用系統自帶的服務,如撥號服務,應用安裝服務等,都必須在AndroidManifest.xml文件中聲明權限

        AndroidManifest.xml的功能:

        命名應用程序的Java應用包,這個包名用來唯一標識應用程序;


        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 荔波县| 资兴市| 玉门市| 鸡东县| 锡林浩特市| 故城县| 唐河县| 大连市| 新蔡县| 水城县| 罗江县| 舟曲县| 乌兰浩特市| 七台河市| 驻马店市| 龙南县| 盖州市| 淮安市| 榆树市| 连南| 绥德县| 炉霍县| 碌曲县| 婺源县| 天台县| 普兰县| 全州县| 崇义县| 工布江达县| 大方县| 运城市| 南华县| 松阳县| 东兰县| 台中县| 始兴县| 涪陵区| 灵武市| 阳原县| 焉耆| 房山区|