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





<think> 我们已知: 1. 用户的问题:在Android Studioassets目录下创建xml文件的方法。 2. 参考引用: [1] 说明了如何添加assets目录:在main目录下新建Directory,命名为assets。 [2] 说明了如何调用assets中的xml文件,通过getAssets().open("文件名.xml")。 [3] 详细说明了创建assets目录的步骤:View->Tool Windows->Project,然后选择Project视图,在main下新建Directory并命名为assets。 因此,回答应该包括: - 如何创建assets目录(如果项目中没有的话) - 如何在assets目录下创建xml文件 步骤: 1. 创建assets目录(如果不存在): - 打开Android Studio,确保项目视图是“Project”视图(而不是Android视图)。 - 在项目结构中,找到app -> src -> main。 - 右键单击main目录,选择New -> Directory。 - 输入目录名“assets”(不带引号),回车。 2. 在assets目录下创建xml文件: - 右键单击新创建的assets目录。 - 选择New -> File(或者如果New菜单下有XML选项,可以直接选XML,但通常New File然后输入文件名包括扩展名.xml)。 - 输入文件名,例如“my_file.xml”,然后回车。 3. 编辑xml文件:双击打开该文件,然后编辑内容。 4. 使用xml文件:在代码中,可以通过AssetManager来获取该文件的输入流,例如: ```java try { InputStream is = getAssets().open("my_file.xml"); // 然后可以解析这个输入流 } catch (IOException e) { e.printStackTrace(); } ``` 注意:assets目录下的文件不会被编译,会原样保留,并且访问时需要使用AssetManager。 根据引用[3],创建assets目录的具体步骤是: - 调出项目结构管理区域:View -> Tool Windows -> Project - 选择“Project”视图 - 在app->src->main下新建Directory,命名为“assets” 所以,在回答中,我们可以按照这个步骤来写。 另外,用户可能已经创建了assets目录,所以也可以说明如果已有assets目录,则直接在该目录下新建文件即可。 最后,为了完整性,可以提一下如何访问这个xml文件(如引用[2]所示)。 因此,回答结构: 1. 创建assets目录(如果不存在) 2. 在assets目录下创建xml文件 3. 访问assets目录下xml文件的示例 注意:使用中文回答。 </think>在 Android Studioassets 目录下创建 XML 文件,需先确保 assets 目录存在,再新建 XML 文件。具体步骤如下: ### 1. 创建 assets 目录(若不存在) - 打开项目结构:顶部菜单 **View → Tool Windows → Project** - 切换为 **Project 视图**(非 Android 视图) - 右键点击 **app → src → main** - 选择 **New → Directory** - 输入目录名 `assets`(必须全小写),按回车确认[^3]。 完成后目录结构: ``` app └── src └── main └── assets ✅ ``` ### 2. 在 assets 目录下创建 XML 文件 - 右键点击新建的 **assets 目录** - 选择 **New → File** - 输入带 `.xml` 后缀的文件名(如 `config.xml`),按回车 - 双击打开文件,编辑 XML 内容(示例): ```xml <configuration> <param name="key">value</param> </configuration> ``` ### 3. 访问 XML 文件(代码示例) 通过 `AssetManager` 读取文件流: ```java try (InputStream inputStream = getAssets().open("config.xml")) { // 解析 XML(如用 XmlPullParser) XmlPullParser parser = Xml.newPullParser(); parser.setInput(inputStream, "UTF-8"); // ... 解析逻辑 } catch (IOException e) { e.printStackTrace(); } ``` ### 关键注意事项 1. **路径区分大小写**:`assets` 目录名和文件名必须严格匹配大小写[^2]。 2. **无需编译**:XML 文件会原样打包到 APK 中,不会被编译。 3. **访问限制**: - 只能通过 `AssetManager` 以流形式读取 - **不可写入**(assets 目录只读)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值