android studio 添加assets目录

本文详细介绍了在Android Studio中如何创建及使用assets目录,并对比了Eclipse中的使用方式。此外,还提供了读取assets文件的具体代码示例。

相信大家在使用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自带了,

希望知情的大神能给个解答


接下来就是读取具体文件:如下读取test.txt:

 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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值