首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

asset上的文件与res/raw /drawable上文件的区别

2012-08-24 
asset下的文件与res/raw/drawable下文件的区别一、Android除了提供/res目录存放资源文件外,在/assets目录也

asset下的文件与res/raw /drawable下文件的区别

一、Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自 动生成ID,所以读取/assets目录下的文件必须指定文件的路径。我们可以通过AssetManager类来访问这些文件。

比如我要读取/assets/background.png

?

Java代码
  1. Bitmap?bgImg?=?getImageFromAssetFile("background.png");??

?

Java代码
  1. ??????private?Bitmap?getImageFromAssetFile(String?fileName){??
  2. ????Bitmap?image?=?null;??
  3. ????try{??
  4. ????????AssetManager?am?=?context.getAssets();??
  5. ????????InputStream?is?=?am.open(fileName);??
  6. ????????image?=?BitmapFactory.decodeStream(is);??
  7. ????????is.close();??
  8. ????}catch(Exception?e){??
  9. ??????????
  10. ????}??
  11. ????return?image;??
  12. }?

二、/assets的文件不做压缩,比如存放*.png 文件时,需要读取原文件中的每一像素,则比较有用,缺点是读取时需要指定文件路径,无法通过id读取。
三、res/raw的文件也不压缩,优点是可以通过id读取
四、res/drawable下的文件会做失真压缩


第一点参考http://mingkg21.javaeye.com/blog/444830

1 楼 endual 2012-04-25   可以删除assets文件么
我有一个数据库是要本地化的,2M多,我启动程序就复制这个数据库到databases文件夹下,然后删除assets下数据库,请问这个能实现么?

热点排行