assets raw 资源 AssetManager】的更多相关文章

assets raw 目录简介 assets核心特性:不会被编译成二进制,支持子目录(可以分类,这是相对raw目录最大的好处),通过文件名访问,调用getAssets通过AssetManager访问 res/raw核心特性:会被映射到[R.java]文件中,通过资源的ID访问(访问方便,这是相对assets目录最大的好处),不会被编译成二进制,不支持子目录 assets 文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像 xml. java 文件那样会被预编译.常用来存放一些图片.…
一.assets/xml/raw资源介绍 1.assets资源文件夹:assets文件夹下存放的资源代表应用无法直接訪问的原生资源,这些文件将原封不动的存储到设备上,不会被编译为二进制形式,訪问方式是通过文件名称而不是资源ID.应用程序通过AssetManager以的字节流的形式来读取资源文件.assets与res/raw的差别是assets支持随意深度的子文件夹.这些资源文件不会生成不论什么资源ID. Android应用訪问assets文件夹资源过程例如以下:     (1)先在Activit…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zpf8861/article/details/34504183   res/raw和assets的同样点: 1.两者文件夹下的文件在打包后会原封不动的保存在apk包中.不会被编译成二进制. res/raw和assets的不同点: 1.res/raw中的文件会被映射到R.java文件里.訪问的时候直接使用资源ID即R.id.filename:assets文件夹下的文件不会被映射到R.java中,訪问…
1.简介 assets和res/raw工程目录下都可以放一些小于1M的文件(2.3版本以前要求,否则将不能读出数据.),这些文件将被原样打包到APK中应用使用. 2.不同 assets目录下的文件将原样打包,而res/raw目录下的文件,有些文档说会编译为二进制,有些文档说不会.一个原则那就是最好不要将过大的文件打包到APK中,如果你的资源很大,例如视频等等,应该单独存储在文件系统中. 可以通过ID去访问res/raw目录中的任何文件,系统会为res目录下的所有资源生成相应的资源ID,而asse…
转自:http://www.cppblog.com/johndragon/archive/2012/12/28/196754.html 在使用 cocos2dx 在 Android 上进行游戏开发时,遇到了奇怪的事情,无论什么代码,都无法读资源文件.不得以只好寻求更高版本的Api.   在Android ndk api level 9 之后,提供了一套称为 AssetManager 的api. 这个api 的工作原理是      - Java通过JNI把getAssets得到的AssetMana…
1.assets目录 assets目录下称为原生文件,无法通过R资源清单类访问,这类文件在被打包成apk文件时是不会进行压缩的: (1)使用方法 AssetManager assets = this.getResources().getAssets(); ((TextView)findViewById(R.id.txAssets)).setText( readStream(assets.open("data.txt")) ); 在context上下文中,调用getAssets返回一个A…
//读取文件 private static String getFromAssets(Context context, String fileName) { String result = ""; try { InputStream in = context.getResources().getAssets().open(fileName); // 获取文件的字节数 int lenght = in.available(); // 创建byte数组 byte[] buffer = new…
1.为什么需要访问资源管理类中的原生资源  资源管理类是很奇妙的.它们是防止资源泄漏的堡垒,没有资源泄漏发生是设计良好的系统的一个基本特征.在一个完美的世界中,你需要依赖这样的类来同资源进行交互,绝不要直接访问原生(raw)资源而玷污你的双手.但是世界不是完美的,许多API会直接引用资源,所以除非你放弃使用这样的API(这是不实际的想法),你将会绕开资源管理类而时不时的处理原生资源. 2. 如何获取原生资源——通过显示转换和隐式转换 2.1 一个例子 举个例子,Item 13中介绍了使用像aut…
import android.content.Context; import android.media.MediaPlayer; import xxxx.R; public class MediaUtil { MediaPlayer mPlayer=null; Context context; public MediaUtil(Context context){ this.context=context; } //释放 public void Release() { if (mPlayer !…
Versions Angular CLI: 6.0.7 Node: 9.3.0 OS: darwin x64 Angular: 6.0.3 ... animations, common, compiler, compiler-cli, core, forms ... http, language-service, platform-browser ... platform-browser-dynamic, router Package Version ----------------------…
代码 private MediaPlayer mRingPlayer; /** * 播放铃声 */ private void startRing(){ if (mRingPlayer != null){ mRingPlayer.stop(); mRingPlayer.release(); mRingPlayer = null; } mRingPlayer = MediaPlayer.create(this, R.raw.video_request); mRingPlayer.setLooping…
Android开发离不开对文件的操作,前面的文章“Android简易数据存储之SharedPreferences”和“Android数据存储之SQLite的操作”,分别讲解了简单的数据的存储和数据库数据的操作.然而,前面的两篇文章都未涉及具体文件的操作.下面来看下Android是怎么操作其内置目录文件及外部sdcard数据的. 环境:Android studio.海马玩模拟器 资源文件: /assets目录下test.txt aaaaaaaaaaaaaa bbbbbbb /res/raw(需要手…
Android 中存在assets目录和raw目录,它们既有相似之处又有所不同.一.共同点: 目录下的资源会被原封不动的拷贝到APK中,而不会像其它资源文件那样被编译成二进制的形式. 二.区别 1.最直观的就是获取它们的 InputStream 的API不一样. 获取assets资源:InputStream assets = getAssets().open("xxxx"); 获取raw资源:InputStream raw = getResources().openRawResourc…
assets与res/raw不同 assets目录是Android的一种特殊目录,用于放置APP所需的固定文件,且该文件被打包到APK中时,不会被编码到二进制文件. Android还存在一种放置在res下的raw目录,该目录与assets目录不同. 注意点: 1. assets目录不会被映射到R中,因此,资源无法通过R.id方式获取,必须要通过AssetManager进行操作与获取:res/raw目录下的资源会被映射到R中,可以通过getResource()方法获取资源. 2. 多级目录:ass…
效果图: 1.activity_main.xml 描述: 定义两个按钮,一个是Raw资源管理,一个是处理国际化语言,其中i18n表示简体中文 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_ma…
第一种方法:       String path = file:///android_asset/文件名; 第二种方法:         InputStream abpath = getClass().getResourceAsStream("/assets/文件名"); But,这样获取的路径并不能直接访问到assets的资源,如果一个mp3放在assets下,通过以上两种方法获得的路径并不能直接播放里面的mp3文件,why? 那是因为在安卓应用中使用assets目录下存放的资源文件…
转自:http://blog.csdn.net/luoshengyang/article/details/8738877 Android应用程序主要由两部分内容组成:代码和资源.资源主要就是指那些与UI相关的东西,例如UI布局.字符串和图片等.代码和资源分开可以使得应用程序在运行时根据实际需要来组织UI.这样就可使得应用程序只需要编译一次,就可以支持不同的UI布局.这种特性使得应用程序在运行时可以适应不同的屏幕大小和密度,以及不同的国家和语言等.在本文中,我们就简要介绍Android的资源管理框…
原始资源 android中没有专门提供管理支持的类型文件,都被称为原始资源.例如:声音资源... android原始资源存放位置: 1.res/raw,android SDK会处理该目录下的原始资源,会在R清单中生成唯一索引 2./assets/,该目录下的资源是更彻底的原始资源.android通过AssetManager来管理该目录下的原始资源 注意:原始资源通过SDK生成的唯一索引的使用方式同其他资源使用方式一致.EG:R.raw.filename/@raw.filename AssetMa…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8738877 Android应用程序主要由两部分内容组成:代码和资源.资源主要就是指那些与UI相关的东西,例如UI布局.字符串和图片等.代码和资源分开可以使得 应用程序在运行时根据实际需要来组织UI.这样就可使得应用程序只需要编译一次,就可以支持不同的UI布局.这种特性使得应用程序在运行时可以适应不同的 屏幕大小和密度,以及不同的国家和语言等.在…
Android APK 一.APK的结构以及生成 APK是Android Package的缩写,即Android application package文件或Android安装包.每个要安装到Android平台的应用都要被编译打包为一个单独的文件,扩展名为 .apk.APK文件是用编译器编译生成的文件包,其中包含了应用的二进制代码.资源.配置文件等.通过将APK文件直接传到Android手机中执行即可安装.APK文件其实就是zip格式,但其扩展名被改为apk.在这里我们为了详细讲述Android…
Android该应用程序包括两个部分组成的:代码和资源. 资源主要是与UI相关的东西,例如UI布局.和其他字符串和照片.代码和资源可以使独立的应用程序来组织的实际需求的基础上,在执行的时候UI.,就能够支持不同的UI布局.这样的特性使得应用程序在执行时能够适应不同的屏幕大小和密度.以及不同的国家和语言等. 在本文中.我们就简要介绍Android的资源管理框架.以及制定学习计划. 在软件开发中.说到代码与资源分离.最easy想到的可能就是Web开发了. 在Web开发中,我们通常会通过CSS文件来描…
在做Android应用的时候,不可避免要用到数据库.但是当我们把应用的apk部署到真机上的时候,已经创建好的数据库及其里边的数据是不能随着apk一起安装到真机上的. (PS:这篇博客解决了我前面博客中写的一个小游戏的一个问题,另外也可以读取Raw目录下的数据库文件) 这就造成了一个问题,这个问题其实很好解决,解决方法如下: 我们首先把有数据的数据库文件放在assets资源目录下边,然后在apk应用启动的时候,把assets目录下的数据库文件的数据写入到真机的内存中去. 下边开始我们的代码编写:…
在做Android应用的时候,不可避免要用到数据库.可是当我们把应用的apk部署到真机上的时候,已经创建好的数据库及其里边的数据是不能随着apk一起安装到真机上的. (PS:这篇博客攻克了我前面博客中写的一个小游戏的一个问题.另外也能够读取Raw文件夹下的数据库文件) 这就造成了一个问题.这个问题事实上非常好解决,解决方法例如以下: 我们首先把有数据的数据库文件放在assets资源文件夹下边,然后在apk应用启动的时候,把assets文件夹下的数据库文件的数据写入到真机的内存中去. 下边開始我们…
处理任意的XML文件 自定义的xml文件放置在res/xml/下,可以通过R.xml.file_name来获取一个XMLResourceParser对象.下面是xml文件的例子: <rootname="tom"><--也可以是<root>,本次采用带参数的方式作为实验-->    <leaf>Hello from an elementtest.</leaf>   <leaf>Hello World!</lea…
转载自 http://www.cnblogs.com/dyllove98/p/3144950.html 好长,记录下,一次看完感觉像没看一样 Android APK 一.APK的结构以及生成 APK是Android Package的缩写,即Android application package文件或Android安装包.每个要安 装到Android平台的应用都要被编译打包为一个单独的文件,扩展名为 .apk.APK文件是用编译器编译生成的文件包,其中包含了应用的二进制代 码.资源.配置文件等.通…
原始资源可以放在两个地方: 1.位于/res/raw目录下,android SDK会处理该目录下的原始资源,android SDK会在R清单类中为该目录下的资源生成一个索引项. 2.位于/assets.目录下,该目录下的资源是更彻底的原始资源,android应用需要通过AssetManager来管理该目录下的原始资源 AssetManager: InputStream open(String filename):根据文件名获取原始资源对应的输入流 AssetFileDescriptor open…
转自:http://www.chenwg.com/android/android%E5%A4%8D%E5%88%B6assets%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E5%9B%BE%E7%89%87%E5%88%B0%E5%86%85%E5%AD%98.html 有些Android应用需要一些初始化数据,但是考虑到国内这种龟速网络和高昂的网络流量费用,可以将这些初始化数据存在数据库中,有时遇到图片的情况下,可以在初始化的阶段将assets目录下的图片复制到内…
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客) 前言 我们知道,在activity内部訪问资源(字符串,图片等)是非常easy的,仅仅要getResources然后就能够得到Resources对象,有了Resources对象就能够訪问各种资源了,这非常easy,只是本文不是介绍这个的,本文主要介绍在这套逻辑之下的资源载入机制 资源载入机制 非常明白,不同的…
assets下经常可以放一些比较大的资源,对于这些资源我们如何访问. 步骤 1.获取AssetManager. AssetManager am = getResources().getAssets(); 2.利用AssetManager的open(String filePath)方法打开对应的输入流. InputStream is = am.open(assetsFileName); 读取图片文件保存到SD卡示例代码 public boolean saveToSDCard(String loca…
有两种方法可以获取assets的绝对路径: 第一种方法: String path = file:///android_asset/文件名; 第二种方法: InputStream abpath = getClass().getResourceAsStream("/assets/文件名"); But,这样获取的路径并不能直接访问到assets的资源,如果一个mp3放在assets下,通过以上两种方法获得的路径并不能直接播放里面的mp3文件,why? 那是因为在安卓应用中使用assets目录…