您的位置:首页 > 移动开发 > Android开发

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

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



R.java代码如下:



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

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

资源有如下属性:



各属性可以用限定符进行修饰:



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



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类的接口来访问资源。接口使用如下:



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



(部分资料来自于《浅谈OPhone中的资源管理和使用》,费建江,http://www.omsdn.net/article/show/18)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息