`
wangleyiang
  • 浏览: 221687 次
社区版块
存档分类
最新评论

Android R

阅读更多
import java.lang.reflect.Field;

import android.content.Context;
import android.util.Log;

public class ResourceUtil {
	private static String TAG = "ResourceUtil";
	private static ResourceUtil instance;
	private Context context;
	private static Class id = null;
	private static Class drawable = null;
	private static Class layout = null;
	private static Class anim = null;
	private static Class style = null;
	private static Class string = null;
	private static Class array = null;

	private ResourceUtil(Context paramContext) {
		this.context = paramContext.getApplicationContext();
		try {
			drawable = Class.forName(this.context.getPackageName() + ".R$drawable");
		} catch (ClassNotFoundException localClassNotFoundException1) {
			Log.i(TAG, localClassNotFoundException1.getMessage());
		}
		try {
			layout = Class.forName(this.context.getPackageName() + ".R$layout");
		} catch (ClassNotFoundException localClassNotFoundException2) {
			Log.i(TAG, localClassNotFoundException2.getMessage());
		}
		try {
			id = Class.forName(this.context.getPackageName() + ".R$id");
		} catch (ClassNotFoundException localClassNotFoundException3) {
			Log.i(TAG, localClassNotFoundException3.getMessage());
		}
		try {
			anim = Class.forName(this.context.getPackageName() + ".R$anim");
		} catch (ClassNotFoundException localClassNotFoundException4) {
			Log.i(TAG, localClassNotFoundException4.getMessage());
		}
		try {
			style = Class.forName(this.context.getPackageName() + ".R$style");
		} catch (ClassNotFoundException localClassNotFoundException5) {
			Log.d(TAG, localClassNotFoundException5.getMessage());
		}
		try {
			string = Class.forName(this.context.getPackageName() + ".R$string");
		} catch (ClassNotFoundException localClassNotFoundException6) {
			Log.d(TAG, localClassNotFoundException6.getMessage());
		}
		try {
			array = Class.forName(this.context.getPackageName() + ".R$array");
		} catch (ClassNotFoundException localClassNotFoundException7) {
			Log.d(TAG, localClassNotFoundException7.getMessage());
		}
	}

	public static ResourceUtil getResofR(Context paramContext) {
		if (instance == null)
			instance = new ResourceUtil(paramContext);
		return instance;
	}

	public int getAnim(String paramString) {
		return getResofR(anim, paramString);
	}

	public int getId(String paramString) {
		return getResofR(id, paramString);
	}

	public int getDrawable(String paramString) {
		return getResofR(drawable, paramString);
	}

	public int getLayout(String paramString) {
		return getResofR(layout, paramString);
	}

	public int getStyle(String paramString) {
		return getResofR(style, paramString);
	}

	public int getString(String paramString) {
		return getResofR(string, paramString);
	}

	public int getArray(String paramString) {
		return getResofR(array, paramString);
	}

	private int getResofR(Class<?> paramClass, String paramString) {
		if (paramClass == null) {
			throw new IllegalArgumentException("ResClass is not initialized.");
		}
		try {
			Field localField = paramClass.getField(paramString);
			int k = localField.getInt(paramString);
			return k;
		} catch (Exception localException) {
			localException.printStackTrace();
		}
		return -1;
	}
	
}

来源:http://my.eoe.cn/119358/archive/552.html

 

 

 

 

 

分享到:
评论

相关推荐

    Android 11 Android R可编译ntfs-3g 任意Android.mk可以编译到的位置即可

    ntfs-3g Android 11 Android R可编译代码。使支持ntfs格式tf卡、U盘、stat硬盘挂载,解压文件到任意可以被编译到的目录下,mm编译成功后,可以编译到/vendor/bin目录下。

    android资源图片浏览,系统图片,android.R.drawable浏览,查看系统图片,查看android自带图片

    本篇文章将深入探讨如何浏览和使用Android系统中的图片资源,特别是`android.R.drawable`中的资源。`android.R.drawable`是Android SDK提供的一个预定义的资源集合,包含了大量的图标和图形,适用于各种UI组件和状态...

    android.R.styleable 类包含 XML属性

    Android.R.styleable 类包含 XML 属性 Android.R.styleable 类是一个非常重要的类,它包含了所有组件相关的 XML 属性。在 Android 布局文件中,我们经常使用这些属性来设置控件的样式和行为。下面我们将详细介绍...

    androidR_FOTA.pdf

    “AndroidR_FOTA.pdf”文件标题暗示该文档内容特别关注Android R版本的FOTA升级技术。而“fota升级分析踩坑”这个描述,则意味着文档中可能会讨论在执行FOTA升级时可能遇到的常见问题以及解决方案。 从文件的标签来...

    android-sdk_r24.4.1-linux.7z

    标题“android-sdk_r24.4.1-linux.7z”指的是Android Software Development Kit (SDK) 的特定版本,即r24.4.1,针对Linux操作系统。这个压缩包是开发者在Ubuntu 18.04环境下搭建Android开发环境所需的基础组件。 ...

    Android的R文件

    Android的原始R文件,可以直接查找原引用自原始的视图及图标

    android-12.0.0-r34的android.ipr和android.iml

    在Android开发环境中,`android-12.0.0-r34`可能指的是一个特定版本的Android SDK或源代码库。`android.ipr`和`android.iml`是IntelliJ IDEA使用的项目配置文件,它们对于理解这个Android项目的结构和构建过程至关...

    Android SDK (SDK Platforms Preview)-android-R.zip

    这里的"android-R"指的是Android操作系统的第30个版本,通常称为Android 11。这个预览版SDK允许开发者提前了解并适应新版本的API和功能,以便在正式发布时能及时调整和优化他们的应用。 在Android SDK中,"SDK ...

    安装Ubuntu 12.04 和下载编译Android R10.4源码1

    在本文中,我们将详细介绍如何在Ubuntu 12.04 LTS 64位系统上安装环境,以便编译Android R10.4的源码。首先,我们需要确保系统是最新的,然后安装必要的软件包和依赖项。 第一步是安装Ubuntu 12.04 LTS。在VMware ...

    基于机器学习的Android恶意软件检测数据集

    基于机器学习的Android恶意软件检测 Android恶意软件检测使用机器学习是一种检测和分类Android设备恶意应用程序的方法。识别可疑应用程序的一种精确方法是监控android设备所连接的网络。机器学习是人工智能的一个...

    目前Android恶意软件分类

    在2013年2月28日之前,Android平台已经遭遇了大量恶意软件的威胁,这些恶意软件家族被详细记录并分类,以帮助用户和开发者了解和防范。下面将详细阐述这些恶意软件的特点和行为。 首先,恶意软件的分类包括但不限于...

    android开发R文件无法生成

    在Android应用开发过程中,`R`文件是资源的编译结果,它包含了应用程序中所有资源的ID。当`R`文件无法生成时,通常会导致编译错误,使得开发者无法正常引用资源。以下是一些常见的导致`R`文件无法生成的原因及其解决...

    Android R img2simg mkbootimg mkuserimg-mke2fs mke2fs工具

    Android R image制作工具包括但不限于img2simg mkbootimg mkuserimg_mke2fs mke2fs。 linux版本

    Android R 11.txt

    Android 11.0 Preview 4源码,下载文件中有网盘链接及提取码,资源文件已被分卷压缩,文件较大。有问题请私信我

    android RS232串口读写程序

    JNI是Java平台的一个核心特性,允许Java代码和其他语言写的代码进行交互。在这个案例中,我们使用JNI来编写C/C++原生代码,这些代码可以直接与硬件进行交互,包括操作RS232串口。 3. **Android Studio**: ...

    android-sdk_r24.4.1-windows.zip

    开发Android应用还需要掌握Java或Kotlin语言,因为大部分Android应用是用这两种语言编写的。此外,理解Android的组件模型,如活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供者...

    Android_SDK_R22.6.1

    **Android SDK R22.6.1:核心概念与组件** Android SDK(软件开发工具包)是Android应用程序开发者必备的工具集,它包含了构建、测试和调试Android应用所需的所有组件。R22.6.1是SDK的一个特定版本,发布于2013年,...

    android-sdk_r21-windows.zip

    通过`android-sdk_r21-windows.zip`,开发者能够构建兼容Android 5.0的应用,利用Lollipop引入的新特性,如Material Design设计语言、 ART运行时、多窗口支持等。同时,SDK Manager也允许开发者保持其环境与最新的...

    android-sdk_r24.4.1-windows.7z

    本文将详细讲解如何在Windows系统上搭建QT for Android的开发环境,主要涉及的是`android-sdk_r24.4.1-windows.7z`这个资源包。 首先,`android-sdk_r24.4.1-windows`是Android SDK的一个特定版本,它包含了开发者...

Global site tag (gtag.js) - Google Analytics