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
相关推荐
ntfs-3g Android 11 Android R可编译代码。使支持ntfs格式tf卡、U盘、stat硬盘挂载,解压文件到任意可以被编译到的目录下,mm编译成功后,可以编译到/vendor/bin目录下。
本篇文章将深入探讨如何浏览和使用Android系统中的图片资源,特别是`android.R.drawable`中的资源。`android.R.drawable`是Android SDK提供的一个预定义的资源集合,包含了大量的图标和图形,适用于各种UI组件和状态...
Android.R.styleable 类包含 XML 属性 Android.R.styleable 类是一个非常重要的类,它包含了所有组件相关的 XML 属性。在 Android 布局文件中,我们经常使用这些属性来设置控件的样式和行为。下面我们将详细介绍...
“AndroidR_FOTA.pdf”文件标题暗示该文档内容特别关注Android R版本的FOTA升级技术。而“fota升级分析踩坑”这个描述,则意味着文档中可能会讨论在执行FOTA升级时可能遇到的常见问题以及解决方案。 从文件的标签来...
标题“android-sdk_r24.4.1-linux.7z”指的是Android Software Development Kit (SDK) 的特定版本,即r24.4.1,针对Linux操作系统。这个压缩包是开发者在Ubuntu 18.04环境下搭建Android开发环境所需的基础组件。 ...
Android的原始R文件,可以直接查找原引用自原始的视图及图标
在Android开发环境中,`android-12.0.0-r34`可能指的是一个特定版本的Android SDK或源代码库。`android.ipr`和`android.iml`是IntelliJ IDEA使用的项目配置文件,它们对于理解这个Android项目的结构和构建过程至关...
这里的"android-R"指的是Android操作系统的第30个版本,通常称为Android 11。这个预览版SDK允许开发者提前了解并适应新版本的API和功能,以便在正式发布时能及时调整和优化他们的应用。 在Android SDK中,"SDK ...
在本文中,我们将详细介绍如何在Ubuntu 12.04 LTS 64位系统上安装环境,以便编译Android R10.4的源码。首先,我们需要确保系统是最新的,然后安装必要的软件包和依赖项。 第一步是安装Ubuntu 12.04 LTS。在VMware ...
基于机器学习的Android恶意软件检测 Android恶意软件检测使用机器学习是一种检测和分类Android设备恶意应用程序的方法。识别可疑应用程序的一种精确方法是监控android设备所连接的网络。机器学习是人工智能的一个...
在2013年2月28日之前,Android平台已经遭遇了大量恶意软件的威胁,这些恶意软件家族被详细记录并分类,以帮助用户和开发者了解和防范。下面将详细阐述这些恶意软件的特点和行为。 首先,恶意软件的分类包括但不限于...
在Android应用开发过程中,`R`文件是资源的编译结果,它包含了应用程序中所有资源的ID。当`R`文件无法生成时,通常会导致编译错误,使得开发者无法正常引用资源。以下是一些常见的导致`R`文件无法生成的原因及其解决...
Android R image制作工具包括但不限于img2simg mkbootimg mkuserimg_mke2fs mke2fs。 linux版本
Android 11.0 Preview 4源码,下载文件中有网盘链接及提取码,资源文件已被分卷压缩,文件较大。有问题请私信我
JNI是Java平台的一个核心特性,允许Java代码和其他语言写的代码进行交互。在这个案例中,我们使用JNI来编写C/C++原生代码,这些代码可以直接与硬件进行交互,包括操作RS232串口。 3. **Android Studio**: ...
通过`android-sdk_r21-windows.zip`,开发者能够构建兼容Android 5.0的应用,利用Lollipop引入的新特性,如Material Design设计语言、 ART运行时、多窗口支持等。同时,SDK Manager也允许开发者保持其环境与最新的...
开发Android应用还需要掌握Java或Kotlin语言,因为大部分Android应用是用这两种语言编写的。此外,理解Android的组件模型,如活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供者...
**Android SDK R22.6.1:核心概念与组件** Android SDK(软件开发工具包)是Android应用程序开发者必备的工具集,它包含了构建、测试和调试Android应用所需的所有组件。R22.6.1是SDK的一个特定版本,发布于2013年,...
《Android SDK r24.4.1 for macOS详解》 Android SDK(Software Development Kit)是开发者构建、调试和发布Android应用程序的重要工具集。本篇将详细介绍macOS版本的Android SDK r24.4.1,它为开发者在苹果操作...
在Android平台上,与U盘进行文件的读写操作并不像在桌面系统中那样直接,因为Android设备通常不直接支持USB主机模式(Host Mode)。然而,借助第三方库如libaums,我们可以实现这一功能。libaums是Android上一个用于...