<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

Android目錄結構(詳解)

作者: 時(shí)間:2016-10-08 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/201610/305445.htm

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

1.1src文件夾和assets文件夾:

每個(gè)Android程序都包含資源目錄(src)和資產(chǎn)目錄(assets),資源和資產(chǎn)聽(tīng)起來(lái)感覺(jué)沒(méi)有多大差別,但在存儲外部?jì)热輹r(shí)用資源(src)比較多,其中它們的區別在于存放在資源(src)下的內容可以通過(guò)應用程序的R類(lèi)進(jìn)行訪(fǎng)問(wèn),而存放在資產(chǎn)(assets)下的內容會(huì )保持原始文件的格式,如果需要訪(fǎng)問(wèn),則必須使用AssetManager以字節流的方式來(lái)讀取,用起來(lái)非常的不方便。為了方便使用,通常文件和數據都會(huì )保存在資源(src)目錄下

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

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

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

1.2.2 values文件夾:用來(lái)存放文字的信息

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

Hello World, Hello 3G

Android1.1

哥想你了

按鈕1

按鈕1

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

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

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

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

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

1.2.3 layout文件:用來(lái)存放界面信息

本例中的布局文件是自動(dòng)生成的“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/>

元素:線(xiàn)性布局的意思,在該元素下的所有子元素都會(huì )根據他的”orientation”屬性來(lái)決定是按行還是按列或者按逐個(gè)顯示進(jìn)行布局的

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

1.3 gen目錄:gen目錄下只有一個(gè)自動(dòng)生成的“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這四個(gè)靜態(tài)內部類(lèi),每個(gè)靜態(tài)內部類(lèi)對應一中資源,如layout靜態(tài)內部類(lèi)對應layout中的界面文件,string靜態(tài)內部類(lèi)對應string內部的string標簽。如果在layout中在增加一個(gè)界面文件或者在string內增加一個(gè)string標簽,R.java會(huì )自動(dòng)在其對應的內部類(lèi)增加所增加的內容。

R.java除了自動(dòng)標識資源的索引功能外,還有另一個(gè)功能,就是當res文件中的某個(gè)資源在應用中沒(méi)有被用到,在這個(gè)應用被編譯時(shí),系統不會(huì )把對應的資源編譯到應用中的APR包中。

1.4 AndroidManifest.xml 功能清單文件

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

AndroidManifest.xml的功能:

命名應用程序的Java應用包,這個(gè)包名用來(lái)唯一標識應用程序;


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>