Android应用程序架构

本文详细介绍了Android项目的文件夹结构及各部分的功能。包括src/java源代码目录、gen/自动生成目录、res/资源目录等,并解释了不同分辨率下图片资源的放置位置。此外还提到了AndroidManifest.xml清单文件的作用。

1、src/  : java源代码目录

2、gen/  :  自动生成目录

gen目录中存放所有由Android开发工具自动生成的文件。目录最重要的就是R.java文件。这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件时由开发工具自动生成的,因为我们应该避免手工修改R.java文件。R.java文件在应用中起到了字典的作用,它包括了各种资源的id,通过R.java文件,应该可以很方便地找到了对应资源。

3、res/   :  资源(Resource)目录

在这个目录中我们可以存放应用使用到的各种资源,如.xml界面文件,图片或数据。

1)res/drawable :专门存放png、jpg等图像资源。在代码中使用getResources().getDrawable(resourceld)获取该目录下的资源。

drawable-hdpi、drawable-mdpi、drawable-ldpi的区别:

(1)drawable-hdpi里面存放高分辨率的图片,如:WVGA(480x800),FWVGA(480X854)

(2)drawable-mdpi里面存放中等分辨的图片,如:HVGA(320x480)

(3)drawable-ldpi里面存放低分辨率的图片,如:QVGA(240x320)

2)res/layout  : 专门存放.xml界面文件,.xml界面文件和HTML文件一样,主要用于显示用户操作界面。

3)res/values  : 专门存放应用使用到的各种类型数据。不同类型的数据存放不同的文件中,如下:

(1)String.xml  :  定义字符串和数值,在Activity中使用getResources().getString(resourceld)或getResources().getText(resourceld)取得资源。它的作用和Struts中的国际化资源文件一样。

(2)arrays.xml  :  定义数组。

(3)colors.xml  :  定义颜色和颜色字符串数值,你可以在Activity中使用getresources().getDrawable(resourceld)以及getResource().getColor(resourceld)取得这些资源。

(4)dimens.xml  :  定义尺寸数据,在Activity中使用getResources().getDimension(resourceld)取得这些资源。

(5)styles.xml  : 定义样式。

4、res/admin/  :  存放定义动画的xml文件。

5、res/xml/  :  在Activity中使用getResources().getXML()读取该目录下的XML资源文件。

6、res/raw/ : 该目录用于存放应用使用到的原始文件,如音效文件等。编译软件是,这些数据不会被编译,他们被直接加入到程序安装包里。为了在程序中使用这些资源,你可以调用getResources().openRawResource(ID)。

7、assets :  资源目录

Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:

file:///android_asset/xxx.3gp

8、AndroidManifest.xml 项目清单文件

这个文件列出了应用程序所提供的功能,以后你开发好的各种组件(Activity、ContentProvider、BroadcastReceiver、Service)需要在该文件中进行配置,如果应用使用到了系统内置应用(如电话、服务、互联网服务、短信服务、GPRS服务等等),你还需要在该文件中声明使用权限。

9、default.properties 项目环境信息,一般是不需要修改此文件。

转载于:https://my.oschina.net/u/273709/blog/87325

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值