android中资源的使用

1、打开一个apk的包:

META-INF\AndroidManifest.xmlcalsses.dexlib\resources.arscres\assets\

其中后三个就是android项目中的资源。包括图片、音频、视频、xml文件等。
resources.arsc   包括res下的资源的索引、res下的values文件夹下的xml文件(就是那些根节点是resources的xml文件)的编译结果。
res\         res下除values的其他所以文件,除了raw下是原文件,其他的都会编译成二进制文件。这个文件夹下的文件夹结构是固定的。

assets\        android项目要使用的原始资源文件一般放在这个文件夹下。与前两个的区别是,assets下的资源没有在R文件中生成全局标识。

2、资源就是这些,使用资源我们使用两个东西Resources和AssetManager。

AssetManager:
官方说明
This class presents a lower-level API that allows you to open and read raw files that have been bundled with the application as a simple stream of bytes.

1)AssetManager 可以通过Context的getAssets()方法获取。2)AssetManager是一个底层的API,里面有一些native函数。3)AssetManager的public函数,是提供来访问assets文件夹下的文件的:  list(path)       返回path下的文件名字符串数组  open(filename)    返回一个InputStream  以上两个函数的参数都是相对于assets文件夹的相对路径。4)AssetManager还有些default修饰的方法,实现从资源文件获取值。Resources的就是使用AssetManager的这些方法实现资源访问操作的。

Resources:

Class for accessing an application‘s resources. This sits on top of the asset manager of the application (accessible through getAssets()) and provides a high-level API for getting typed data from the assets.

1)Resources可以使用Context的getResources()方法获取。2)Resources主要提供了使用资源id获取资源中定义的值的方法:  http://www.android-doc.com/reference/android/content/res/Resources.html  getColor(id)  getDimension(id)  getLayout(id)  getXml(id)    这个方法可以用来解析我们自己定义在res/xml下的xml文件  ......      

原文地址:https://www.cnblogs.com/z964166725/p/8715818.html

时间: 2024-11-18 19:48:42

android中资源的使用的相关文章

Android中资源的引用

R.java简单来说就是资源 R.java会自动收录当前应用中所有的资源,并根据这些资源建立对应的ID,包括:布局资源.控件资源.String资源.Drawable资源等 可以理解把所以资源按规则存放在R.java资源里,相当于字典,当文件需要是在引用 引用values中的资源 xml文件引用资源: android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIco

Android中如何修改编译的资源ID值(默认值是0x7F...可以随意改成0x02~0x7E)

一.技术准备 今天我们来看一下如何修改Android中编译时的资源Id的值,在讲解这内容之前,我们需要先了解一下Android中的资源编译之后的结构和编译过程,这里就不多说了,具体可以查看这篇文章: http://blog.csdn.net/jiangwei0910410003/article/details/50628894 这篇文章中,介绍了如何解析Android中编译之后的resource.arsc文件,这里就介绍了Android中资源文件编译之后的类型和格式,其实Android中资源编译

Android应用资源的使用方法(数组、颜色、尺寸、字符串、布尔、整数)

一.Android中资源分类详解 1.Android资源分类 Android中的资源分为两大类 : 可直接访问的资源, 无法直接访问的原生资源; -- 直接访问资源 : 这些资源可以使用 R. 进行访问, 都保存在res目录下, 在编译的时候, 会自动生成R.java 资源索引文件; -- 原生资源 : 这些资源存放在assets下, 不能使用 R类 进行访问, 只能通过 AssetManager 以二进制流形式读取资源; 2.Android资源详解 res目录下资源详解 : -- res/an

Android中显示和隐式Intent的使用

显示启动activity                                                                                                                   这个很简单,下面是代码示例:为了看着方便,所以就把layout直接截图了,里面的代码只是一些简单的布局.activity_login.xml: activity_main.xml: 下面是Manifest.xml中的代码 1 <?xml vers

android中的用户资源访问(一)

这几天要总结一下android开发中的用户资源访问. android中的用户资源存在项目工程中res文件夹下,有字符串.颜色.大小.数组.布局.样式.主题等资源,这些资源可以在xml文件中引用,也可以在android源码文件中使用,今天总结一下字符串.颜色.大小.数组.布局和图片资源. 总的来说,在xml文件中引用的格式为[<package>.]@/XXX/name:在源码中引用格式是[<package>.]R.XXX.name. 先贴上在xml文件中引用的代码(在布局xml文件中

(转载)Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别

原帖地址:http://blog.csdn.net/zfrong/article/details/7332545 Android xml资源文件中@.@android:type.@*.?.@+引用写法含义以及区别 一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor=&

Android xml资源文件中@、@android:type、@*、?、@+含义和区别

一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor="@android:color/opaque_red" 注意:其实@android:type/name是@[package:]type/name 的一个子类 二[email protected]*

android中的资源

一.概括地讲,android中的资源是指非代码部分,比如图片.MP3.字符串.xml文件等.在一个android工程中,和src源文件夹并列的有两个文件夹,分别叫做res和assets,都是用来保存资源文件的. 不同点:1.res中的资源可以通过R资源类直接访问.这种方式比较常用. res中有包含各种子文件夹,对资源进行分类: anim(xml动画文件).drawable(图片),layout(布局文件).menu(菜单).raw(二进制文件).values(常量值).xml(xml文件).2.

android 中的一些资源注解,让编译器帮你检查代码

android 中的一些资源注解,让编译器帮你检查代码 写方便的时候可以用注解来声明一些参数,以明确的指示参数的类型,让代码更安全.我们看到,在android源代码里大量使用了注解.我整理了一些注解如下: @NonNull  告诉编译器,这个参数是非空的,编译器会帮你做出检查. 示例: @NonNull public static Snackbar make(@NonNull View view, @StringRes int resId, @Duration int duration) {