Android中资源文件夹res/raw和assets的使用
2016-03-24 11:19
477 查看
转载 /article/7589658.html
res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建;
补充一下:在未知目录下有哪些文件,该去和获取这些文件的名称并把文件拷贝到目标目录中呢?(用于内置文件但不知道文件名称,需要筛选出想要的文件然后拷贝到目标目录中,推荐内置在assets文件夹中)
1.res/raw目录:
通过反射的方式得到R.java里面raw内部类里面所有的资源ID的名称,然后通过名称获取资源ID的值来读取我们想要的文件。(这个方法我没试过,有用过的同学麻烦发一段代码看看)。
2.assets目录:
getAssets().list(“”);来获取assets目录下所有文件夹和文件的名称,再通过这些名称再读取我们想要的文件。
res/raw和assets的相同点
两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。res/raw和assets的不同点:
res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建;
读取文件资源:
// 读取res/raw下的文件资源,通过以下方式获取输入流来进行写操作 InputStream is = getResources().openRawResource(R.id.filename); // 读取assets下的文件资源,通过以下方式获取输入流来进行写操作 AssetManager am = null; am = getAssets(); InputStream is = am.open("filename");
补充一下:在未知目录下有哪些文件,该去和获取这些文件的名称并把文件拷贝到目标目录中呢?(用于内置文件但不知道文件名称,需要筛选出想要的文件然后拷贝到目标目录中,推荐内置在assets文件夹中)
1.res/raw目录:
通过反射的方式得到R.java里面raw内部类里面所有的资源ID的名称,然后通过名称获取资源ID的值来读取我们想要的文件。(这个方法我没试过,有用过的同学麻烦发一段代码看看)。
2.assets目录:
getAssets().list(“”);来获取assets目录下所有文件夹和文件的名称,再通过这些名称再读取我们想要的文件。
相关文章推荐
- Android下载,在通知栏更新进度
- android 在模拟器中输入中文
- Android更改项目名称,成为焕然一新的项目
- android多文件上传
- Grpc在Android中的用法
- 百度地图 Android SDK - 检索功能使用的简单演示样例
- Android Studio 编译项目出错的解决办法
- android学习——自定义Toast
- 今天开始记录自学android的历程
- 如何学习Android系统源码
- Android 画虚线
- Android Studio 快捷键使用
- Android 开源库和项目 2
- Android studio 下拉刷新,加载更多使用LoadingViewFinal
- Android 设置activity主题Theme.NoTitleBar.Fullscreen 打开报错的问题
- Android6.0的处理 转载
- Android书页翻页设计:android-flip
- 多字文本android:ellipsize属性不正常工作的解决办法
- 77、Android设置虚线、圆角、渐变
- Android四大组件之一:Service(服务)