android 中的资源介绍

概括的讲,android中的资源是指非代码部分。比如 图片,mp3, 字符串, xml文件等。

在一个Android 工程中,和 src 源文件夹并列的两个文件夹,分别叫做res和assets .这两个文件夹是用来保存资源文件的。

不同点:

1,res中的资源可以通过R资源类之间访问。这里的资源会在运行打包操作的时候判断哪些被使用到了,没有被使用到的文件资源是不会打包到安装包中的。这种方式在Android中比较常用。

会在R.java文件下生成标记。

在res文件夹下还可以定义一下目录,对资源进行分类:anim(xml动画文件), drawable(图片) , layout(布局文件),menu(菜单), raw(二进制文件),values(常量值),xml(xml文件)

res/anim:这里存放的是动画资源。

res/xml:可以在Activity中使用getResource().getXML()读取这里的资源文件

res/raw:该目录下的文件可以直接复制到设备上,不能有子文件夹,编译软件时,这里的数据不需要编译,直接加入到程序安装包中,使用方法是getResource().OpenRawResources(ID),其中参数ID的形式是R.raw.XXX.

2. assets中保存的一般是原始的文件。例如,mp3文件,android程序不能通过R类直接访问。必须通过AssetManager类以二进制流的形式来读取。

assets不会在R.java文件下生成相应的标记。

 

一般使用资源分为两种方式:

1. 在代码中使用 context 的 getResources() 方法得到Resource 对象,该对象提供了获得各种类型资源的方法。

2. 在其他资源中引用资源的一般格式是这样的:

         (1) @[包名称:] 资源类型/资源名称

         (2) R.资源类型.资源名称

 

颜色资源的使用

1,颜色值的定义是通过RGB三原色来定义的。

2,颜色资源xml文件的定义:

资源位置

/res/values/colors.xml  文件名必须用这个?现在是!

获得颜色方法

Resources.getColor()

引用资源格式

Java中: R.color.color_name

 

Xml中: @color/color_name

 

   根基点都必须是resources

         #ff0000

         #0000ff

public void test(View v){  //添加一个button响应事件。int color = this.getResources().getColor(R.color.bg_color);Toast.makeText(this, “”+color, 1).show();this.getWindow().setBackgroundDrawableResource(R.color.bg_color);

字符串资源的使用

在一个Android工程中,我们可能会使用到大量的字符串作为提示信息。在这些字符串都可以作为字符串资源声明在配置文件中,从而实现程序的可配置性。

 

在代码中我们使用Context.getString() 方法,通过传递资源ID参数来得到该字符串,也可以在其他资源文件中引用字符串资源,引用格式为“@string/字符串资源名称”

资源位置

Res/values/strings.xml

获得string方法

Context.getString

引用资源格式

Java中: R.string.string_name

 

Xml中: @string/string_name

尺寸(dimens)资源的使用

我们可以使用一些常用的尺寸单位来定义一些文字尺寸,视图组建的宽和高等。尺寸资源是一个数字类型的数据,被定义在 res\values\dimens.xml文件中。

单位表示

单位名称

说明

px

像素

屏幕真实像素

in

英寸

基于屏幕的物理英寸

dp

和密度无关的像素

相对屏幕物理密度的抽象单位

sp

和精度无关的像素

和dp类似

 

资源位置

Res/values/dimens.xml

Xml格式

根元素

value

获得尺寸资源的方法

getResource().getDimension();

引用尺寸资源的格式

Java代码中:

R.dimen.dimen_name

Xml文件中:

@dimen/dimen_name

一般系统都给我们创建了一个默认的。

 

代码用法如下:

      Button bt = (Button)findViewById(R.id.button1);      float width = this.getResources().getDimension(R.dimen.padding_large);      bt.setWidth((int)width);

 

更多相关文章

  1. Linux文件的特殊权限位SUID、SGID作用及编程设置/读取
  2. Android(安卓)IPC机制(三)在Android(安卓)Studio中使用AIDL实现跨
  3. Android菜鸟的成长笔记(3)——给QQ登录界面说So Easy
  4. Android应用程序资源管理器(Asset Manager)的创建过程分析
  5. Android(安卓)Studio 使用jni
  6. Android、pc文件无线双向传输软件
  7. Android中的服务(service)详解(三)--远程服务(remote)
  8. android中图片的三级cache策略(内存、文件、网络)之三:文件缓存策略
  9. NPM 和webpack 的基础使用

随机推荐

  1. android 下测试网络的丢包率和延迟 的代
  2. Android APK 文件自动安装
  3. androidd 几个开源框架
  4. Android截屏及图片解析
  5. 实例教程四:采用Pull解析器解析和生成XML
  6. android 相机 前后摄像头判断
  7. Android JNI学习笔记——so文件动态加载
  8. android.inputmethodservice.KeyboardVie
  9. 2.在服务器上使用 gradle 打包 android
  10. Android(安卓)中 AlertDialog 的多种创建