Android问题之res/raw和assets的区别及文件大小限制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android问题之res/raw和assets的区别及文件大小限制相关的知识,希望对你有一定的参考价值。
参考技术A 1.assets:可以存放项目一些较大的资源文件,例如:图片、音乐、字体等。2.res:可以存放项目中所有的资源文件,例如:图片(*.png、*.jpg)、文本等。3.res/drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。4.res/drawable-ldpi:保存低分辩率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。5.res/drawable-mdpi:保存中等分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。6.res/layout:存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置。7.res/values:存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称:Android:无法使用 xmlwise 在 res/raw 中找到 plist
【中文标题】Android:无法使用 xmlwise 在 res/raw 中找到 plist【英文标题】:Android: Cannot find plist in res/raw using xmlwise 【发布时间】:2013-03-02 23:54:03 【问题描述】:我正在尝试使用 xml 方式将 plist 读入我的 android 应用程序。这是我的代码
String path = "android.resource://" + context.getPackageName() + "/" + R.raw.nameofplist;
Map<String, Object> males = Plist.load(path);
但我不断得到:
java.io.FileNotFoundException: /android.resource:/com.packagename.appname/2130968577 (No such file or directory)
在我的res/raw
文件夹中获取我的 plist nameofplist.plist
的路径的正确方法是什么?
【问题讨论】:
【参考方案1】:我也很难找到答案……但我最终解决了。
这是我的解决方案,它基于一个名为 airports.plist 的 plist 文件,该文件位于 res/raw 文件夹中。
Map<String, Object> properties = null;
try
InputStream inputStream =getResources().openRawResource(R.raw.airports);
BufferedReader br = null;
try
br = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null)
sb.append(line);
properties = Plist.fromXml(sb.toString());
//TODO do something with the object here
System.out.println("plist object... "+properties);
catch (Exception e)
e.printStackTrace();
finally
br.close();
catch (Exception ex)
ex.printStackTrace();
希望这对某人有所帮助!
【讨论】:
以上是关于Android问题之res/raw和assets的区别及文件大小限制的主要内容,如果未能解决你的问题,请参考以下文章
android之文件操作——读取assets和raw文件下的内容
Android获取本地路径问题 android studio 4.2 新建res/raw目录 android中读取Raw资源 Android Bundle传递数据,传对象和List(需要序列化)
markdown Android res / raw和资产使用
将目录和文件从 res/raw 文件夹复制到 sd 卡 - android