跟我学Android应用开发 之 Android中资源文件的使用

    在很多地方都需要用到资源文件,做C开发的有可能将一些字符串注册为资源,J2ME也有类似的功能,其目的都是为了将代码与界面的显示相分离开来,也就是将表现层与控制层相剥离,极大的提高了程序的灵活性。

  Android也提供了这样的功能,这样的话你就可以根据目前设备不同的放置方向,横着的还是竖着的,来动态调整设备的界面布局,可以根据不同的语言环境调整语言显示,等等。本篇文章将会先讲解Android资源的基础知识,以后的博文中会给出各种资源使用的样例。


android资源位于工程的res/目录下,分为许多种类:

一些比较重要的资源类型如下:

res/anim: 动画资源

res/color: 颜色资源

res/drawable:  一些位图文件资源

res/values: 里面包含一些常用的常量,比如字符串资源等

res/menu: 菜单资源

res/layout: 布局文件资源

res/raw: 原生文件,会被直接复制到发布包中。如果想要打开这个文件夹下面的文件需要使用Resources.openRawResources()方法返回的InputStream对象,进行读取

res/xml: 一些原生xml文件

还有更多类型的资源文件这里就不再一一列出,后面遇到我们会讲解。但是需要注意的一点是不要直接接某一个资源文件放在res/根目录下,这样的话会导致编译不过。

如何使用在res目录下定义的这些资源文件呢,这里就需要用到android系统自动生成的一个类:R类,coder们可以使用这个类来获取

自己定义的资源,这个类位于工程的gen/目录下,如下:

R类下根据不同的资源类型自动生成了不同的资源索引(resource IDs):

public final class R {
    public static final class attr {
    }
    public static final class color {
        public static final int blue=0x7f040000;
    }
    public static final class drawable {
        public static final int icon=0x7f020000;
    }
    public static final class id {
        public static final int change=0x7f060000;
        public static final int et01=0x7f060001;
    }
    public static final class layout {
        public static final int main=0x7f030000;
    }
    public static final class string {
        public static final int app_name=0x7f050001;
        public static final int hello=0x7f050000;
    }
}

在程序代码中使用的方式为:R.xx.yy,xx是你的资源的类型(对应的在上述的R类中的内部类名),yy就是你的资源的id

在别的资源中使用另外一个资源的格式为@[包名:]类型名/资源ID,其中包名是可选的,在同一个包下引用的使用可以将其省略。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值