【Android】Android读取assets
assets是存放本地支援的。主要放一些常用的资源。
这里说说怎么调用这个文件夹里面的文件。
操作方法
- 01
assets文件夹在项目中的位置
- 02
获取图像的方法 /** * 从Assets中读取图片 * @param activity * @param fileName * @return */ public static Bitmap getImageFromAssetsFile(Activity activity,String fileName) { Bitmap image = null; AssetManager am = activity.getResources().getAssets(); try { InputStream is = am.open(fileName); image = BitmapFactory.decodeStream(is); is.close(); } catch (IOException e) { e.printStackTrace(); } return image; } 这个地方要注意。(应为这是一种引用) 来自Resources和Assets 中的文件只可以读取而不能进行写的操作。
- 03
这里附加把图片放到内存的方法
- 04
获取所有文件的文件名 /** * 获取目录下的所有文件的文件名 * @param context * @return */ public static String[] get_img_list(Context context) { String[] list_image = null; try { //得到assets/build_img/目录下的所有文件的文件名,以便后面打开操作时使用 return list_image = context.getAssets().list("processedimages"); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return list_image; }
assets与res/raw的不同
- 01
assets文件夹用于存放一些常用的资源文件。(打包到应用程序的静态文件。) ASSETS支持任意深度的子目录。(意思就是说,你可以在这个文件夹中写多层文件夹的路径。)这些文件不会生成任何资源ID,必须使用/assets开始(不包含它)的相对路径名。
- 02
res/raw 这个文件夹位置如图。 这个文件夹也会在打包成apk时,把raw文件夹中的文件保存下来。方便调用。 缺点就是不能多层次路径。
附加知识
- 01
/res/xml 一般放一些xml格式的数据文件。(可以存一些,固定的设置xml结构数据。) 怎么获取xml数据我在这里就不多说了。