1、assets目录

assets目录下称为原生文件,无法通过R资源清单类访问,这类文件在被打包成apk文件时是不会进行压缩的;

(1)使用方法

AssetManager assets = this.getResources().getAssets();
((TextView)findViewById(R.id.txAssets)).setText( readStream(assets.open("data.txt")) );

在context上下文中,调用getAssets返回一个AssetManager对象,然后使用open方法就可以访问需要的资源了,这里open方法是以assets目录为根的。

assets目录更像一个附录类型的目录,Android不会为这个目录中的文件生成ID并保存在R类当中,因此它与Android中的一些类和方法兼容度更低。同时,由于你需要一个字符串路径来获取这个目录下的文件描述符,访问的速度会更慢。但是把一些文件放在这个目录下会使一些操作更加方便,比方说拷贝一个数据库文件到系统内存中。要注意的是,你无法在Android XML文件中引用到assets目录下的文件,只能通过AssetManager来访问这些文件。数据库文件和游戏数据等放在这个目录下是比较合适的。这个目录中的文件也不会被编译成二进制形式,可以自建目录。

2、res目录

res目录下这类文件在打包成apk文件时,可通过R资源清单类访问,会进行小内存优化。

res/raw目录这里的文件会原封不动的存储到设备上,不会被编译为二进制形式,访问的方式通过R类。由于raw是Resources (res)的子目录,Android会自动的为这目录中的所有资源文件生成一个ID,这个ID会被存储在R类当中,作为一个文件的引用。这意味着这个资源文件可以很容易的被Android的类和方法访问到,甚至在Android XML文件中你也可以@raw/的形式引用到它。在Android中,使用ID是访问一个文件最快捷的方式。MP3和Ogg文件放在这个目录下是比较合适的。不可以有目录结构。

(1)使用方法

InputStream is =getResources().openRawResource(R.id.filename);

try {
ByteArrayOutputStream bo = new ByteArrayOutputStream();
int i = is.read();
while(i != -1) {
bo.write(i);
i = is.read();
}
return bo.toString();
} catch (IOException e) {
return "";
}

通过openRawResource(R.id.filename);方法获取一个指定id的输入流.

还有一些其他文件夹:

res/anim:这里存放的是动画资源。

res/xml:可以在Activity中使用getResource().getXML()读取这里的资源文件,但是XML会被编译成二机制文件。

最新文章

  1. 简单封装分页功能pageView.js
  2. [转] Android 4.4中播放HTML5视频<video>的Bug
  3. BZOJ 1026: [SCOI2009]windy数
  4. 多个java文件编译并打成jar包经典方法
  5. activity动画主题使用注意事项
  6. asp下实现多条件模糊查询SQL语句
  7. 人在江湖飘,哪能不挨刀。CENTOS之后,UBUNTU,FEDORA都要安装起来作测试啊
  8. CreateProcess函数具体解释
  9. 天圆地方· 围棋界的盲棋天才 -- 鲍云
  10. jsp静态化之简单介绍
  11. (转)Unity3D中移动物体位置的几种方法
  12. Hive数据仓库笔记(二)
  13. mybatis_09关联查询_一对一
  14. windows上xshell6的安装
  15. C#编程(七十五)----------C#使用指针
  16. elasticsearch geo_point 地理位置过滤 按经度排序
  17. [奇葩问题] ERROR 2013 (HY000): Lost connection to MySQL server during query
  18. 处理 CALayer 变形后的抗锯齿问题
  19. sqlconnection dispose()与close()的区别
  20. 2.java相对路径与绝对路径

热门文章

  1. liunx pip安装
  2. sqlserver 2008修改数据库表的时候错误提示“阻止保存要求重新创建表的更改”
  3. Oracle权限管理详解(2)
  4. Spring Data JPA引入和介绍
  5. 调查问卷WebApp
  6. 了解认识asp.net运行机制
  7. web开发:javascript案例
  8. centos7下的/etc/rc.local自启动程序
  9. Istio调用链埋点原理剖析—是否真的“零修改”分享实录(下)
  10. 【转载】@Component, @Repository, @Service的区别