在android开发中,我们离不开资源文件的使用,从drawable到string,再到layout,这些资源都为我们的开发提供了极大的便利,不过我们平时大部分时间接触的资源目录一般都是下面这三个。
/res/drawable
/res/values
/res/layout
但android的资源文件并不止这些,下面就为大家介绍一下另外三个资源目录
首先是/res/xml ,这个目录中大家可能偶尔用到过,这里可以用来存储xml格式的文件,并且和其他资源文件一样,这里的资源是会被编译成二进制格式放到最终的安装包里的,我们也可以通过R类来访问这里的文件,并且解析里面的内容,例如我们在这里存放了一个名为data.xml的文件:
随后,我们就可以通过资源ID来访问并解析这个文件了:
在这里,我们用资源类的getXml方法,返回了一个xml解析器,这个解析器的工作原理和SAX方式差不多,有关SAX的具体细节可以看看我的另一篇帖子:
http://www.eoeandroid.com/thread-33212-1-1.html
要注意的是,这里的xml文件,最终是会被编译成二进制形式的,如果大家想让文件原样存储的话,那么就要用到下一个目录啦,那就是/res/raw目录
这个目录的唯一区别就是,这里的文件会原封不动的存储到设备上,不会被编译为二进制形式,访问的方式也是通过R类,下面是一个例子:
这次使用资源类中的方法,openRawResource,返回给我们一个输入流,这样我们就可以任意读取文件中的内容了,例如上面例子中那样,原样输出文本文件中的内容。
当然,如果你需要更高的自由度,尽量不受android平台的约束,那么/assets这个目录就是你的首选了~
这个目录中的文件除了不会被编译成二进制形式之外,另外一点就是,访问方式是通过文件名,而不是资源ID。并且还有更重要的一点就是,大家可以在这里任意的建立子目录,而/res目录中的资源文件是不能自行建立子目录的。如果需要这种灵活的资源存储方式,那么就看看下面这个例子:
在context上下文中,调用getAssets返回一个AssetManager,然后使用open方法就可以访问需要的资源了,这里open方法是以assets目录为根的。所以上面这段代码访问的是assets目录中名为data.txt的资源文件~
这三个目录中我们平时开发应用的时候,还是很实用的,这里发给大家,希望能对大家在开发应用时有所帮助~
分享到:
相关推荐
本文将详细介绍三个特殊的资源目录:/res/xml、/res/raw和/assets,以及它们各自的作用和用法。 首先,我们来看看/res/xml目录。这个目录主要用于存储XML格式的资源文件,这些文件通常用于定义应用中的数据结构或...
在Android应用开发中,Assets和Raw文件夹是两个重要的资源存储区域,用于存放非编译的、原始的数据文件。这两个目录都有各自的用途和特点,开发者可以根据需求选择合适的存储位置。 **Android Assets文件** Assets...
本文实例讲述了Android开发之资源目录assets与res/raw的区别。分享给大家供大家参考,具体如下: assets:用于存放需要打包到应用程序的静态文件,以便部署到设备中。与res/raw不同点在于,ASSETS支持任意深度的子...
Android中的资源文件夹主要有两个:res和assets。res文件夹用于存放编译后的资源文件,而assets文件夹用于存放原始文件。下面我们将详细介绍这两个文件夹的作用和如何从中读取文件。 res文件夹的主要作用是存放...
本示例“android读取raw和assets下资源文件demo”旨在教你如何在Android应用中有效地读取并处理存储在`res/raw`和`assets`目录下的资源文件。 一、res/raw目录 `res/raw`目录是Android资源系统的一部分,它允许...
Android系统提供了两种特殊的方式供我们读取这些文件:assets和raw文件夹。下面将详细介绍如何读取这两个目录下的内容。 **1. 读取assets文件夹中的内容** assets文件夹位于项目的src/main/assets目录下,它允许...
1.分别创建assets文件夹和res/raw文件夹:(要注意的raw文件是在res下new,然后创建一个名字为raw的文件夹) 2.创建两个txt文件,复制到asset和raw文件夹中: 3.实现的效果: 4.实现代码: (1)布局文件: &...
raw文件夹是Resources(res)的子目录,Android会自动为这个目录中的所有资源文件生成一个ID,这个ID会被存储在R类当中,作为一个文件的引用。这意味着这个资源文件可以很容易地被Android的类和方法访问到,甚至在...
在Android开发中,`assets`目录是一个特殊的地方,用于存储应用程序需要但不通过SQLite数据库或资源文件系统访问的非结构化数据。这个目录下的文件在编译时会被原封不动地复制到APK中,因此在运行时可以使用`...
在Android中,可以通过`AssetManager`访问应用的assets目录中的XML文件,或者使用`open()`方法打开res/raw目录下的文件。对于外部存储的XML文件,需要获得文件路径后,再设置到解析器的输入源。 例如,从assets读取...
背景知识介绍与其他平台的应用程序一样,Android中的应用程序也会使用各种资源,比如图片,字串等,会把它们放入源码的相应文件夹下面,如/res/drawable, /res/xml, /res/values/, /res/raw, /res/layout和/assets。...
在Android项目的`res`目录下,包含了各种类型的资源文件夹,用于存储不同的资源。这些资源在编译过程中会被转换为二进制形式,以便于在运行时快速访问。 - **`res/anim`**:存储动画资源,包括逐帧动画和补间动画。...
Android提供了多种方式来读取XML资源,包括从assets目录、res/raw目录或网络中加载。这里我们假设XML文件已经存储在项目的assets目录下,名为“myxml.xml”。 ```java InputStream inputStream = context.getAssets...
通常,我们可以将XML文件放在`assets`或`res/raw`目录下,然后通过`AssetManager`或`Resources`来访问它们。 总结一下,Android中使用SAX解析XML文件的关键步骤包括: 1. 创建`DefaultHandler`子类并重写事件处理...
4. **assets/**:这个目录用于存放原始的、未处理的媒体文件,如音频、视频、文本文件等。通过AssetManager可以以字节流的方式读取这些文件。 5. **res/**:资源目录,包含了应用的各种资源文件,如图片、布局、...
Android支持多语言和不同屏幕尺寸的资源,通过在`res`目录下创建不同的子目录(如`values-en`、`values-mdpi`)来实现本地化和适配。 总之,Android工程中的资源管理是一个有序而灵活的过程,通过合理的组织和访问...
- 在Android应用开发中,声音资源通常存储在`res/raw`目录下,可以是音频片段、通知声效或用户操作反馈的声音。在微信6.0中,这些声音文件可能包括消息接收提示音、新好友添加提示音、语音通话接通与挂断音等。这些...
`assets`目录下的文件可以通过`file:///android_asset/`路径访问,而`res/raw`目录下的文件则使用`file:///android_res/raw/`路径。例如,如果HTML文件在`assets`目录,加载方式如下: ```java webView.loadUrl(...