相信大家在使用Android studio的时候会发现,在新建的项目中并找不到assets目录,就如下图所示:
这时候就想着要自己新建一个assets目录,可是要新建在哪里呢?点击上图中app.iml文件:按 Ctrl+F键弹出快速搜索:ASSETS_FOLDER_RELATIVE_PATH
你就能找到下面configuration根下的
option name=”ASSETS_FOLDER_RELATIVE_PATH” value=”/src/main/assets”
然后你就知道为什么在main根下新建assets目录了,新建完如下:
现在就可以将要载入的文件放入该目录下,不过问题又来了,在Eclispe中,这个目录的位置在res/下面,但到了Android Studio中,这个assets目录必须放在跟java和res同级目录下,该如何读取文件:
1. 获取AssetManager
AssetManager am = context.getAssets();
2.
列出assets目录下,image目录下的所有文件:
String[] filePathList =assetManager.list("image");
将所有资源移出到assets目录下,列出assets目录下所有文件
String[] filePathList =assetManager.list("");
效果如下图,除了资源文件,还列出空文件夹名,至于为什么少了txt文件夹名,多了sounds,webkit两个文件夹,本人认为是Android自带了,
希望知情的大神能给个解答
try {
//调用其open 方法取得 对应的inputStream对象
InputStream is = assetManager.open("txt/"+text);
int count=0;
while (count==0){
count=is.available();//取得数据流的数据大小
}
byte[] bytes=new byte[count];
is.read(bytes);
is.close();
String toTxt=new String(bytes);
tv_assetsItem.setText(toTxt);
} catch (IOException e) {
e.printStackTrace();
}读取图片:
try
{
InputStream is = am.open(fileName);
image = BitmapFactory.decodeStream(is);
is.close();
}
catch (IOException e)
{
e.printStackTrace();
}
assets与raw的区别:http://www.cnblogs.com/pang123hui/archive/2013/11/06/3411523.html
本文详细介绍了在Android Studio中如何创建及使用assets目录,并对比了Eclipse中的使用方式。此外,还提供了读取assets文件的具体代码示例。
539

被折叠的 条评论
为什么被折叠?



