asset上的文件与res/raw /drawable上文件的区别
asset下的文件与res/raw/drawable下文件的区别一、Android除了提供/res目录存放资源文件外,在/assets目录也
asset下的文件与res/raw /drawable下文件的区别
一、Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自 动生成ID,所以读取/assets目录下的文件必须指定文件的路径。我们可以通过AssetManager类来访问这些文件。
比如我要读取/assets/background.png
?
Java代码
- Bitmap?bgImg?=?getImageFromAssetFile("background.png");??
?
Java代码
- ??????private?Bitmap?getImageFromAssetFile(String?fileName){??
- ????Bitmap?image?=?null;??
- ????try{??
- ????????AssetManager?am?=?context.getAssets();??
- ????????InputStream?is?=?am.open(fileName);??
- ????????image?=?BitmapFactory.decodeStream(is);??
- ????????is.close();??
- ????}catch(Exception?e){??
- ??????????
- ????}??
- ????return?image;??
- }?
二、/assets的文件不做压缩,比如存放*.png 文件时,需要读取原文件中的每一像素,则比较有用,缺点是读取时需要指定文件路径,无法通过id读取。
三、res/raw的文件也不压缩,优点是可以通过id读取
四、res/drawable下的文件会做失真压缩
第一点参考http://mingkg21.javaeye.com/blog/444830 1 楼 endual 2012-04-25 可以删除assets文件么
我有一个数据库是要本地化的,2M多,我启动程序就复制这个数据库到databases文件夹下,然后删除assets下数据库,请问这个能实现么?