Android中的资源访问

安卓中的资源访问分为以下两个部分:

assets:存放原生资源 一般很少访问 需要通过AssetManage类以二进制的形式来读取

res:通过R资源类直接访问(anim drawable layout menu raw values xml dimen 动画 图片 布局 菜单 原生文件 常量 xml文件 尺寸)


R类---自动生成的代码

/* AUTO-GENERATED FILE.  DO NOT MODIFY.
 *
 * This class was automatically generated by the
 * aapt tool from the resource data it found.  It
 * should not be modified by hand.
 */

package com.qd.weibo;

public final class R {
	public static final class attr {
	}

	public static final class dimen {
		public static final int activity_horizontal_margin = 0x7f040000;
		public static final int activity_vertical_margin = 0x7f040001;
	}

	public static final class drawable {
		public static final int ic_launcher = 0x7f020000;
	}

	public static final class id {
		public static final int action_settings = 0x7f080000;
	}

	public static final class layout {
		public static final int activity_main = 0x7f030000;
	}

	public static final class menu {
		public static final int main = 0x7f070000;
	}

	public static final class string {
		public static final int action_settings = 0x7f050001;
		public static final int app_name = 0x7f050000;
		public static final int hello_world = 0x7f050002;
	}

	public static final class style {
		public static final int AppBaseTheme = 0x7f060000;
		public static final int AppTheme = 0x7f060001;
	}
}

在资源文件中引用资源的格式一般是@[包名称:]资源类型/资源名称

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

在代码中引用资源文件 格式为 R.资源文件类型.资源文件名称

@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}

除了自定义的资源外还可以访问系统中的资源文件,大部分的资源文件存放在android包下的R类中.

访问格式为: android.R.资源文件类型.资源文件名称

int i=android.R.anim.fade_in;


颜色资源文件的定义 res/values/colors.xml  Resources.getColor();

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name='red'>#FF0000</color>
</resources>

字符串资源文件的定义 res/values/strings.xml  Resources.getString();

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Weibo</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
</resources>

使用原始XML资源文件 定义在res/xml/filename.xml Resources.getXML();

<?xml version="1.0" encoding="UTF-8"?>
<resources>
	<customer name='tom' age='20' gender='male' email='tom@163.com'/>
	<customer name='kite' age='21' gender='male' email='kite@163.com'/>
</resources>


drawable资源是一些图片或者颜色资源主要用来绘制屏幕 Resoueces.getDrawable()方法获得


菜单资源文件 res/menu/filename.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:title="File">
        <menu>
            <group
                android:id="@+id/nonchechable_group"
                android:checkableBehavior="none" >
                <item
                    android:id="@+id/newFile"
                    android:alphabeticShortcut="n"
                    android:title="New"/>
                <item
                    android:id="@+id/openFile"
                    android:alphabeticShortcut="o"
                    android:title="Open"/>
                <item
                    android:id="@+id/saveFile"
                    android:alphabeticShortcut="s"
                    android:title="Save"/>
            </group>
        </menu>
    </item>
    <item android:title="Edit">
        <menu>
            <group
                android:id="@+id/editor_group"
                android:checkableBehavior="single" >
                <item
                    android:id="@+id/cut"
                    android:title="Cut"/>
                <item
                    android:id="@+id/copy"
                    android:title="Copy"/>
                <item
                    android:id="@+id/Past"
                    android:title="Past"/>
            </group>
        </menu>
    </item>
    <item android:title="Help">
        <menu>
            <group android:id="@+id/help_group" >
                <item
                    android:id="@+id/about"
                    android:title="About"/>
                <item
                    android:id="@+id/exit"
                    android:title="Exit"/>
            </group>
        </menu>
    </item>

</menu>

@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值