Android中asset文件夹和raw文件夹区别

*res/raw和assets的相同点:

1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。

*res/raw和assets的不同点:
1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。
2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹

*读取文件资源:

1.读取res/raw下的文件资源,通过以下方式获取输入流来进行写操作

·        InputStream is =getResources().openRawResource(R.id.filename);

2.读取assets下的文件资源,通过以下方式获取输入流来进行写操作

·        AssetManager am = null;

·        am = getAssets();

·        InputStream is = am.open("filename");

注意1:Google的Android系统处理Assert有个bug,在AssertManager中不能处理单个超过1MB的文件,不然会报异常,raw没这个限制可以放个4MB的Mp3文件没问题。

 

注意2:assets 文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像 xml, java 文件被预编译,可以存放一些图片,html,js, css 等文件。

摘自:http://www.cnblogs.com/leizhenzi/archive/2011/10/18/2216428.html

时间: 2024-08-25 06:46:22

Android中asset文件夹和raw文件夹区别的相关文章

Android 的assets文件资源与raw文件资源读取

res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. res/raw和assets的不同点: 1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类. 2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源: 1

Android中如何提取和生成mp4文件

随着Android 4.4及以上版本的逐渐普及,Android 4.1引入的MediaExtractor类,以及Android 4.3引入的MediaMuxer类,终于可以开始正式地"发光发热"了. MediaMuxer类主要用于将音频和视频数据进行混合生成多媒体文件(如:mp4文件),而MediaExtractor则刚好相反,主要用于多媒体文件的音视频数据的分离. 本文将介绍如何利用Android SDK提供的MediaExtractor和MediaMuxer类来完成mp4文件的提取

Android中adb push和adb install的使用区别

Android中adb push和adb install的使用区别  转载 本篇文章由史迎春(@三俗小女子)投稿.转载请注明原文地址. 在Android实际开发中,经常会使用adb命令,安装应用程序可以使用adb push 或者adb install.下面就来讲讲这两种安装方式的区别. adb push 能够指定安装目录.比如执行”adb push xxx.apk system/app” 后,xxx.apk被安装到了system/app目录下,此目录下的软件为上文中提到的system appli

android中libs目录下armeabi和armeabi-v7a的区别

在我们android APK的根目录有一个 libs文件夹,此文件夹下包含了armeabi 和armeabi-v7a两个文件夹,我们的c代码编译成的本地库(各种.so)就会放在这两个文件夹其中的一个.那armeabi-v7a 与 armeabi有什么区别,都是什么意思呢? armeabi和armeabi-v7a是表示cpu的类型,我们知道一般的手机或平板都是用arm的cpu(mips的就悲催的被忽视了),不同的cpu的特性不一样,armeabi就是针对普通的或旧的arm cpu,armeabi-

Android中asset文件夹和raw文件夹

res/raw和assets的相同点: 两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. assets和res/raw工程目录下都可以放一些小于1M的文件(2.3版本以前要求,否则将不能读出数据.),这些文件将被打包到APK中应用使用.assets目录下的文件将不做任何处理被打包,,如果你的资源很大,例如视频等等,应该单独存储在文件系统中. res/raw和assets的不同点: 1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.i

Android中asset和raw的区别

*res/raw和assets的相同点: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. *res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类.2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹 *读取文件资源: 1

Android中数据存储方式一:文件形式

总结在Android中,一共有数据存储的5种方式.今天做一个笔记的整理.关于以文件形式如何来保存数据. 1.在activity_main.xml设计好布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_pa

android中打包含有Activity以及资源文件的jar包在工程中调用

研究如何将资源以及activity文件大包成jar文件供项目调用,走了不少弯路,也尝试了各种不同方式,都不太理想,最终还是从android的官方文档中找到了完美的解决,这里做一个总结. 最近刚刚发布了一款小应用<诗词大全>,有兴趣的朋友请实用提出您的宝贵意见,谢谢 这篇博文内容是结合android 开发文档的翻译以及个人在开发过程中的具体情况的一个总结 第一步,把普通的android project设置成库项目 库项目也是一个标准的android项目,因此你先创建一个普通的android项目.

(九)android 中数据存储与访问——保存文件到手机内存

9.1手机的存储区域 手机的存储区域通常有两个地方:一:手机内部存储空间,理解成一块微硬盘/data/data/:二:外部存储空间SD卡 9.2方法捕获异常的原则 如果方法有返回值,则用try catch捕获,如果方法的返回值是Void类型,则使用throws抛出异常 9.3 上下文Context Context:是一个类,提供一些方便的api 可以得到应用程序的环境,例如:环境的包名,安装路径,资源路径,资产的路径 9.4 保存文件到手机内存——登陆界面例子程序 9.4.1 项目需求 用户登陆