android中资源的使用

1、打开一个apk的包:

META-INF\
AndroidManifest.xml
calsses.dex
lib\
resources.arsc
res\
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值