您的位置 首页 产品

Android目录结构(详解)

下面是HelloAndroid项目在eclipse中的目录层次结构:由上图可以看出项目的根目录下共有九个文件(夹),下面就这九个文件(夹)进行详解:1.1src文件夹和assets

下面是HelloAndroid项目在eclipse中的目录层次结构:

由上图能够看出项目的根目录下共有九个文件(夹),下面就这九个文件(夹)进行详解:

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运用包,这个包名用来仅有标识运用程序;

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/298315.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部