`

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");  

 

补充一下:在位置目录下有哪些文件,该怎样获取这些文件的名称并把文件拷贝到目标目录中呢?(用于内置文件但不知道文件名称,需要筛选出想要的文件,然后拷贝到目标目录中,推荐内置在assets文件夹中)

1、  res/raw目录

通过反射的方式,得到R.java里面raw内部类里面所有的资源ID的名称,然后通过名称获取资源ID的值来读取我们想要的文件。

2、  assets目录

getAssets().list(“”); 来获取assets目录下所有文件夹和文件的名称,再通过这些名称来读取我们想要的文件。

 

res\anim: 动画资源res\xml:布局资源res\raw:不参加编译的资源,(已经建好的数据库,图片等),可以用于在程序首次运行时,直接复制到sd卡上,关 于这些文件的创建,可以根据你项目的需要,在res目录下直接创建就行了new->folder,注意文件夹得名称一定不能变 
分享到:
评论

相关推荐

    Android中asset文件夹与raw文件夹的区别深入解析

    在Android开发中,资源管理是非常重要的一环,其中包括对asset文件夹和raw文件夹的使用。这两个文件夹虽然都是用来存放应用的非代码资源,但它们之间存在显著的区别,了解这些差异有助于更有效地管理和访问应用的非...

    Android Assets文件和Raw文件读取

    在Android应用开发中,Assets和Raw文件夹是两个重要的资源存储区域,用于存放非编译的、原始的数据文件。这两个目录都有各自的用途和特点,开发者可以根据需求选择合适的存储位置。 **Android Assets文件** Assets...

    Android中asset和raw的区别详解

    在Android开发中,资源管理是至关重要的,其中`asset`和`raw`目录是两个用于存储非编译型文件的特殊位置。它们虽然都用于存放应用程序的资源文件,但有其各自的特点和用途。 首先,`asset`和`raw`目录的相同点在于...

    Android 读取assets和raw文件内容实例代码

    2.创建两个txt文件,复制到asset和raw文件夹中: 3.实现的效果: 4.实现代码: (1)布局文件: <?xml version=1.0 encoding=utf-8?> <LinearLayout xmlns:android=...

    必看Android 500道高薪面试题集

    14. Android中的asset文件夹和raw文件夹区别:asset文件夹用于存放应用资源文件,文件内容不会被编译进APK,运行时可通过AssetManager访问;raw文件夹用于存放原始文件,这些文件会被编译进APK,可通过R资源标识符...

    raw文件数据读取

    本文将深入探讨如何在Android应用中读取RAW文件数据,以及如何处理储存在ASSETS文件夹内的资源。 一、RAW文件读取 Android系统提供了`R.raw`类,用于访问在res/raw目录下的资源文件。以下是如何读取RAW文件的基本...

    必看Android500道高薪面试题集

    17. **asset文件夹与raw文件夹**:asset文件夹用于存放非资源文件,如XML文档、字体文件等,访问时需要AssetManager;raw文件夹是资源文件夹,里面的文件会被赋予资源ID,可通过R类直接访问。 以上是Android高薪...

    Android播放assets文件里视频文件相关问题分析

    - Android 中raw和assets文件夹的区别 - Android API编程之Assets文件操作示例 - Android开发实现读取Assets下文件及文件写入存储卡的方法 这些文章提供了更多关于Android文件操作和多媒体处理的详细信息,帮助...

    Android 核心面试题

    17. asset文件夹与raw文件夹区别: - asset文件夹用于存放应用资源文件,访问时需要AssetManager。 - raw文件夹用于存放需要原样使用的文件,可以通过资源ID直接访问。 18. Android存储方式: - Android支持多种...

    Android-I-Jetty服务器部署例子代码

    在Android应用中,这些资源可以存储在assets或src/main/res/raw目录下。 下面是一个简单的示例代码,展示了如何在Android应用中启动Jetty服务器并加载`example-webapps`目录中的内容: ```java import org.eclipse...

    必看Android-520道高薪面试题集.pdf

    - raw文件夹内的资源按资源ID访问,通常用于音频、视频等。 19. **Android的五种存储方式**: - SharedPreferences(键值对存储)、内部存储、外部存储、SQLite数据库、ContentProvider,每种方式都有特定的应用...

    安卓浏览器WebViewJSHTML5相关-androidwebview加载本地html.zip

    Android系统会自动将资源文件夹(如`assets`或`res/raw`)中的文件作为本地资源处理。 HTML5是一种先进的Web标准,包含许多增强用户体验的新特性,如离线存储、音频/视频处理、表单控件升级等。在WebView中,我们...

    Android 文件读写操作

    Asset文件夹通常用于存放非编译的资源,如配置文件或数据库。读取`assets`目录下的`test.txt`文件: ```java InputStream in = getResources().getAssets().open("test.txt"); int length = in.available(); byte[] ...

    Android编程实现使用webView打开本地html文件的方法

    在Android应用开发中,WebView是一个非常重要的组件,它允许开发者在应用程序内嵌入网页内容,显示HTML、CSS和JavaScript等Web资源。这篇教程将详细讲解如何在Android中使用WebView来打开本地存储的HTML文件。 首先...

    Android高薪面试题集.doc

    18. **asset和raw文件夹区别**:asset存放非资源文件,不支持资源ID引用,一般用于存放原始数据;raw文件夹属于资源文件夹,支持资源ID引用,主要用于音频、视频等资源。 19. **Android存储方式**:内部存储、外部...

    310道Android、84道Java高薪面试题集.doc

    raw文件夹下的资源可以通过R.raw.id的形式按ID访问,通常用于音频、视频等。 以上是针对Android和Java面试题集中部分关键知识点的详细解析,涵盖核心概念、原理和实践应用。这些知识点不仅是面试准备的重点,也是...

    Android关于HTML页面与Native方法相互调用

    加载本地HTML文件,首先需要在项目的res目录下创建一个assets或raw文件夹(如果不存在的话),然后将HTML文件放进去。例如,"WebViewLocalHtml"可能就是这样一个本地HTML文件,我们可以使用以下代码来加载它: ```...

    安卓Android源码——植物大战僵尸源码.rar

    源码可能包含了资源的加载、释放策略,以及如何利用Asset或raw文件夹存储资源。同时,内存管理和性能优化也是关键,比如使用纹理 atlases 和音效池来减少内存占用。 6. **网络与存档功能** 如果游戏包含在线特性,...

    Google 官方 Android DisplayBimaps的优化事例

    - **使用Asset或Raw资源**:对于大图或非应用资源,可以考虑存储在Asset或Raw文件夹下,避免将它们打包进APK,从而减小安装包大小。 6. **第三方库的使用**: - Picasso、Glide、 Fresco等图片加载库提供了丰富的...

Global site tag (gtag.js) - Google Analytics