在Android工程中,与src源文件夹并列的有两个文件夹,res和assets文件夹。assets中保存的一般是原生文件,程序不能直接访问,必须通过AssetManager类以二进制流的形式读取,res中的资源可以通过R资源类直接访问。
一、资源简介
Android支持大量的资源文件,如XML、图片、音频和视频。在代码中可以使用Context的getResources()方法获得Resources对象,该对象提供了获得各种类型资源的方法。在其他资源中引用资源的一般格式是:@[包名称:]资源类型/资源名称,如:@string/Hello。使用AAPT可以编译这些资源文件。
在代码中访问资源文件,是通过使用R资源类中定义的资源文件类型和资源文件名称来访问的。如:setContentView(R.layout.login_system);cancel=(Button)findViewById(R.id.cancelButton);。另外,还可以访问系统中的资源文件,格式是Android.R.资源文件类型.资源文件名称,如:i=android.R.color.darker_gray;。
二、颜色资源
在Eclipse中开发Android软件,当开发人员在项目中增加资源时,系统会自动维护R资源类。
三、字符串资源
通过getResources()方法可以获取Resources类,该类有获取各种类型资源的方法,如getDeimension(),但 getString(),getColor(),getWindow()等在Activity类中已实现,所有集成Activity类的子类都可以直接调用这些方法(当然也可以通过Resources类调用),
四、尺寸资源
Android中支持的尺寸单位有:像素(px),英尺(in),毫米(mm),点(pt),和密度无关的像素(dp),和精度无关的像素(sp)。
五、XML资源文件
使用XmlResourceParser类操作XML资源文件。XmlResourceParser和Resources都是android.content.res包下的类。
XmlResourceParser.START_TAG,XmlResourceParser.END_TAG分别表示当前是否开始或结束标签;XmlResourceParser.END_DOCUMENT判断XML的是否结束。