Android中资源文件(非代码部分)的使用概览

Android中的资源访问
  Android中的资源是指非代码部分,指外部文件。
  assets中保存的一般是原生的文件,例如MP3文件,Android程序不能直接访问,必须通过AssetManager类以二进制流的形式来读取。
  res中的资源可以通过R资源类直接访问。
  R类是自动生成的,在该类中根据不同的资源类型生成了相应的内部类,该类包含了系统中使用到的所有资源文件的标识。

1.在代码中使用资源文件
  在代码中访问资源文件,是通过R类中定义的资源文件类型和资源文件名称来访问的。
  具体格式为:
  R.资源文件类型.资源文件名称
  另外,除了访问用户自定义的资源文件,还可以访问系统中的资源文件。
  访问系统中的资源文件的格式为:
  android.R. 资源文件类型.资源文件名称

2.在其他资源文件中引用资源文件
  经常会在布局文件中引用图片、颜色资源、字符串资源和尺寸资源。
  在其他资源中引用资源的一般格式是:
  @[包名称:]资源类型/资源名称

使用颜色资源
  颜色值定义的开始时一个#号,后面是Alpha-RGB的格式。
  例如:
  #RGB
  #ARGB
  #RRGGBB
  #AARRGGBB
  引用资源格式:
  Java代码中:R.color.color_name
  XML文件中:@[package:]color/color_name
  使用时在res\values\目录下,定义一个colors.xml文件,里面存放颜色名字和颜色值的键值对。
  如:


代码如下:

<resources>
<color name="red_bg">#f00</color>
<color name="blue_text">#0000ff</color>
</resources>

  其他资源如字符串、尺寸都是类似的方法。

使用字符串资源
  创建字符串资源文件strings.xml.里面内容也是键值对
  在Java代码中引用字符串资源R.string.string_name
  可如下取得:
  String str = getString(R.string.string_name).toString();
  在xml文件中引用字符串资源:@[package:]string/string_name

使用尺寸资源
  尺寸资源被定义在res\values\dimens.xml文件中。
  Android中支持的尺寸单位:



































单位表示

单位名称

说明

dip

设备独立像素

不同设备不同的显示效果,dip与屏幕密度有关

px

像素

屏幕上的真实像素表示,不同设备不同显示屏显示效果相同

in

英尺

基于屏幕的物理尺寸

mm

毫米

基于屏幕的物理尺寸

pt

点(磅)

英尺的1/72

dp

和密度无关的像素

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

sp

和精度无关的像素

和dp类似,与刻度无关的像素,主要处理字体大小


引用尺寸资源
  在Java代码中: R.dimen.dimen_name
  在xml文件中:@[package:]dimen/dimen_name

使用原始XML资源
  XML文件定义在工程的res\xml\目录下,通过Resources.getXML()方法来访问。
  获得原始XML文件的思路是,通过getResources().getXml()获得XML原始文件,得到XmlResourceParser对象,通过该对象来判断是文档的开始还是结尾、是某个标签的开始还是结尾,并通过一些获得属性的方法来遍历XML文件,从而访问XML文件的内容。

使用drawables资源
  drawable资源是一些图片或者颜色资源,主要用来绘制屏幕,通过Resources.getDrawable()方法获得。
  drawable资源分为三类:Bitmap File(位图文件)、Color Drawable(颜色)、Nine-Patch Image(九片图片)。
  Android中支持的位图文件有png、jpg和gif。
  引用位图资源的格式:
  Java代码中:R.drawable.file_name
  XML文件中:@[package:]drawable/file_name

使用布局(layout)资源
  布局资源是Android中最常用的一种资源,将屏幕中组件的布局方式定义在一个XML文件中,类似于Web中的HTML页面。
  布局文件位于res\layout\中,名称任意。Android通过LayoutInflater类将XML文件中的组件解析为可视化的视图组件。
  在Activity中,调用Activity.setContentView()方法,将布局文件设置为Activity的界面,使用findViewById()方法来得到布局中的组件。
  引用布局文件:
  Java代码中:R.layout.my_layout
  XML文件中:@[package:]layout/my_layout

使用菜单资源
  任何视图组件的创建方式都有两种:一种通过在布局文件中声明创建;另一种通过在代码中创建。
  Android中的菜单分为选项菜单、上下文菜单和子菜单,都可以在XML文件中声明定义,在代码中通过MenuInflater类使用。
  菜单资源文件也是XML文件,放在工程res\menu\目录下。通过R.menu.my_menu的方式来引用。
  典型菜单资源文件的结构:<menu>根元素,在根元素里会嵌套<item>和<group>子元素,<item>元素中也可嵌套<menu>形成子菜单。
  时间和精力有限,不能对每一个类型都做详细的例子研究,只好在实际的应用中综合起来再慢慢体会了。加油!

(0)

相关推荐

  • android开发教程之系统资源的使用方法 android资源文件

    一.颜色资源1.颜色XML文件格式 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?><resources> //resources根元素   <color name="" >#000000</color>//color子元素</resouces> 2.引用格式: java代码中:R.color.color_name  (这是一个int型的

  • Android中资源文件用法简单示例

    本文实例讲述了Android中资源文件用法.分享给大家供大家参考,具体如下: 一.XML文件间资源文件的使用 引用格式: attribute="@[packagename:]resourcetype/resourceidentifier" example: 有strings.xml.color.xml.dimen.xml文件,使用其中的参数 <?xml version="1.0" encoding="utf-8"?> <Line

  • Android字符串资源文件format方法使用实例

    很多时候我们感性Google在设计Android时遵守了大量MVC架构方式,可以让写公共代码.美工和具体逻辑开发人员独立出来.有关Android 的资源文件values/strings.xml中如何实现格式化字符串呢? 这里Android123举个简单的例子,以及最终可能会用到哪些地方. 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <resources> <string name=

  • Android开发之资源文件用法实例总结

    本文实例总结了Android开发之资源文件用法.分享给大家供大家参考,具体如下: 这里记录在Android开发中经常用到的一些用法 arrays.xml定义数组 例: <resources> <!-- share items --> <string-array name="app_share_items"> <item>新浪微博</item> <item>腾讯微博</item> </string-

  • 过滤Android工程中多余资源文件的解决方法

    本文以实例讲述了过滤Android工程中多余资源文件的解决方法,很有实用价值!具体描述如下: 很多开发人员在Android项目开发过程中经常会遇到这样的情况:界面开发人员发布了一个新版本的资源包,不过有的图片名称改了,有的图片删掉了,可是在实现的时候开发人员只是把新的资源覆盖到原来的资源文件夹中,随着版本的发布,在drawable或values中积累的无用资源越来越多,直到最后发布正式版的时候再想要删除这些多余的文件,于是不得不一个一个文件检查看是否有用,再决定要不要删除之. 有鉴于此,很有必要

  • 解析Android资源文件及他们的读取方法详解

    Sam在Android开发中,有两种处理资源文件的方式.其一,是将所有资源文件以及JNI程序放置于一个单独的资源包.使用到他们时,使用文件方式读取.或者直接使用C++层代码读取. 其二,则是将资源文件加入到APK内部.使用各种不同的办法去得到其内容.方法一:适合于移植较大的C++程序时使用,因为C++代码数量众多,不太可能修改为JAVA代码.所以将其与资源文件以一定方式存放,并让他们自称体系是个好办法.但这造成软件的发布必须以APK+资源包的方式发布.方法二:则比较适合代码量不是非常大,且资源数

  • 基于将Android工程做成jar包和资源文件的解决方法

    需要特别注意的是,以jar包和资源包方式提供给第三方开发者,我们的工程的代码中就不能使用类似于R.layout.main.R.string.name等等这样的方式来引用资源了. 为此,我们就不能直接使用R文件,而是要通过字段名称来动态的获取资源的id,再来使用. 以下封装了一个类,可以通过字段名称动态获取id. 复制代码 代码如下: package com.arui.util; import android.content.Context; public class ResourceUtil {

  • Android中主要资源文件及文件夹介绍

    在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的 1:assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件. 2:res文件夹里面的多个文件夹的各自介绍 res/anim/ XML文件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象 res/drawable/ .png..9.png..jpg文件

  • Android 工程内嵌资源文件的两种方法

    方法一 res/raw目录下存放,比如cwj.dat一个二进制文件,我们可以读取可以直接 复制代码 代码如下: InputStream is=context.getResources().openRawResource(R.raw.cwj); 方法二 工程根目录下的assets文件夹中存放,比如assets/cwj.dat 这样我们使用下面的代码 复制代码 代码如下: AssetManager am = context.getAssets(); InputStream is = am.open(

  • android从资源文件中读取文件流并显示的方法

    本文实例讲述了android从资源文件中读取文件流并显示的方法.分享给大家供大家参考.具体如下: 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private void doRaw(){ InputStream is = this.getResources().openRawResource(R.raw.ziliao); try{ doRead(is); }catch(IOException e){ e.printStackTrace(

  • Android 原始资源文件的使用详解

    背景知识介绍与其他平台的应用程序一样,Android中的应用程序也会使用各种资源,比如图片,字串等,会把它们放入源码的相应文件夹下面,如/res/drawable, /res/xml, /res/values/, /res/raw, /res/layout和/assets.Android也支持并鼓励开发者把UI相关的布局和元素,用XML资源来实现.总结起来,Android中支持的资源有:•颜色值                 /res/values               以resourc

随机推荐