Android(OPhone) 学习笔记 - 资源的访问和配置

上回说到,helloworld程序中资源的使用情况,现在对资源进行整体介绍。
1.资源储存
资源以三种类型的文件存放在本地:XML文件,位图文件以及原始数据文件。资源目录中的文件在编译应用程序的过程中会被aapt编译成特定的格式以加快访问速度,并打包成Zip文件。如下图所示,在编译过程中,aapt会为每个资源生成一个唯一的ID值,并产生一个包含这些ID信息的类R。应用程序的JAVA文件中通过R.java中定义的这些ID来访问资源。
128229.jpg

R.java代码如下:

2_18418967884a769e3d2617f.GIF

我们可以看到,R.java处定义了各个资源的ID。

2.资源配置
为了加强程序的通用性,如分辨率、语言、是否触摸等等不同的机型参数,我们需要对资源进行配置,采用资源限定符进行修饰。

资源有如下属性:
att.GIF
各属性可以用限定符进行修饰:
res.GIF

如某程序需要不同的语言版本,则可以在目录上加入语言限定符,res结构如下:
lang.GIF

3.资源访问
在helloworld.java中,有如下语句,实现了资源访问:
setContentView(R.layout.main);
TextView tv = (TextView) findViewById(R.id.textview);

在AndroidManifest.xml中,有如下语句实现了资源访问:
<application android:icon="@drawable/icon" android:label="@string/app_name">
android:label="@string/app_name">

下面介绍一下如何访问资源:
在java中,应用程序自身的资源可以简单的通过R.resource_type.resource_name来引用;系统的资源必须通过android.R.resource_type.resource_name来引用。而在xml类型的资源文件中,应用程序自身的资源可以通过@resource_type/resource_name来引用;其它Package的资源必须通过@package:resource_type/resource_name来引用。例如,引用系统的资源必须通过@android:resource_type/resource_name来引用。获得引用后,我们可以通过调用resource类的接口来访问资源。接口使用如下:
int.GIF

4.资源框架
最后,介绍一下枯燥的资源框架理论,资源管理的框架大致可以分为两层:Java层和Native层。Java层封装着访问各种资源的接口,而Native层则为Java层提供了对应的接口,提高访问资源的速度。如下图所示。

frame.jpg


(部分资料来自于《浅谈OPhone中的资源管理和使用》,费建江,http://www.omsdn.net/article/show/18)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值