首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android:获取枚举类中的本地资源

Android中获取枚举类中的本地资源可以通过以下步骤实现:

  1. 首先,在res/values/strings.xml文件中定义枚举类对应的资源字符串。例如,假设有一个名为"Color"的枚举类,可以在strings.xml文件中添加如下内容:
代码语言:txt
复制
<string name="color_red">Red</string>
<string name="color_blue">Blue</string>
<string name="color_green">Green</string>
  1. 在枚举类中定义一个成员变量用于保存资源字符串的名称。例如,在"Color"枚举类中添加如下代码:
代码语言:txt
复制
public enum Color {
    RED("color_red"),
    BLUE("color_blue"),
    GREEN("color_green");

    private String resourceName;

    Color(String resourceName) {
        this.resourceName = resourceName;
    }

    public String getResourceName() {
        return resourceName;
    }
}
  1. 在需要获取资源的地方,可以通过以下代码获取枚举类中对应的本地资源:
代码语言:txt
复制
String resourceName = Color.RED.getResourceName();
int resourceId = getResources().getIdentifier(resourceName, "string", getPackageName());
String resourceValue = getResources().getString(resourceId);

在上述代码中,首先通过枚举类的成员变量获取资源字符串的名称,然后使用getResources().getIdentifier()方法获取资源的ID,最后使用getResources().getString()方法获取资源的值。

这样,就可以通过枚举类中的成员变量获取对应的本地资源了。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法提供相关链接。但是,腾讯云提供了丰富的云计算服务,可以通过访问腾讯云官方网站获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【编程基础】Android中如何获取资源的尺寸?

在Android中为了实现不同屏幕的适配,经常会用到在不同dimen.xml文件中对于同一dimen ID定义不同的大小,然后在代码中通过getDimension函数来获取,下面就来说说几种getDimension...getDimension()是基于当前DisplayMetrics进行转换,获取指定资源id对应的尺寸。文档里并没说这里返回的就是像素,要注意这个函数的返回值是float,像素肯定是int。...getDimensionPixelOffset()与getDimension()功能类似,不同的是将结果转换为int,并且偏移转换(offset conversion,函数命名中的offset是这个意思...getDimension和getDimensionPixelOffset的功能类似,都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density,如果是px,则不乘,并且getDimension...我用的手机的density是2.0所以所以会乘以2。

2.5K70

Android 动态获取资源的ID

getResources().getIdentifier("add","drawable",getPackageName())); 但是对于以上做法, 官方并不推荐,并且 getIdentifier这个写library的时候..., 如果里面需要引用主程的资源且R所在的包名未知时还是很有用的(如果在gradle里修改了packageName, R所在的包名是和packageName不一样的,没法反射),当然也是有解决的办法:...如果愿意,是可以根据业务拼接出 “package_name.R.drawable.class” 的。...但是如果这样的话,视具体情况一定有更好的解法。 以上摘自该评论 se of this function is discouraged....另外,这个方法,需要一个Context的引用。 推荐的做法 // 在你的代码中使用此方法 public static int getResId(String variableName, Class<?

2.5K20
  • Java 中枚举类的使用

    在日常写项目时,很多数据字典常量都需要定义和使用,同时在 Java 面试中,枚举也是一个绕不开的话题,这篇文章就来详细介绍一下枚举的定义以及使用。 01  【什么是枚举类?】...枚举类的定义就是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内,使用枚举可以很方便地定义数据常量、以及我们的使用。 02  【为什么需要枚举类?】...此外,还可以为不同的枚举变量调用不同的处理方法(这可以通过实现枚举类的抽象方法来实现)。...toString(),name():返回当前枚举类变量的name属性 ordinal():枚举类会给所有的枚举变量一个默认的次序,该次序从0开始,是根据我们定义的次序来排序的。...而ordinal()方法就是获取这个次序(或者说下标)。 compareTo():返回两个次序相减后的结果。 阅读原文 了解老九学堂线下高薪就业班详情

    1.6K20

    Android中的资源

    核心技能部分​ 8.1 .Android资源简介 在传统的Java应用中,针对形如"com.hc.activity"、123之类的常量,很多初学者会将其直接定义在Java类文件中,而且不添加任何注释...,自动在R.java文件中为res目录下的资源创建索引,程序可直接通过R资源清单类进行访问。...在程序运行时,可以调用Resources对象的openRawResource(int id)来获取该资源的二进制输入流。 assets 任意类型 常用来保存无法直接访问的原生资源。...Ø 每一个资源文件或者是资源文件中的key-value对都会在R类文件中找到对应的ID。其中资源文件名或key-value对中的key就是R类中的Java变量名。...另外,我们还可以在Android官方文档Reference下的R类下面查找具体的定义信息。使用系统资源的一个很明显的好处是可以减少我们所编写的软件的体积。

    11410

    面向对象之this指针与类中的枚举类型

    this指针与类中的枚举类型 1.this指针 相信在坐的很多人,都在学Python,对于Python来说有self,类比到C++中就是this指针,那么下面一起来深入分析this指针在类中的使用!...(2)this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。...,相信大家没得问题吧,就是定义了一个类,然后初始化构造函数,并获取这个人的年龄,设置后,再获取!...2.类中的枚举类型 有时我们希望某些常量只在类中有效。由于#define 定义的宏常量是全局的,不能达到目的,于是想到实用const 修饰数据成员来实现。...别指望 const 数据成员了,应该用类中的枚举常量来实现。

    1.2K10

    Android Studio 4.1 中的本地内存分析

    本文是 Android Studio 4.1 中 Profiler 有哪些新增特性 的第二部分。之前的文章侧重于介绍 Android Studio 中 System Trace 的新增功能。...在 Android Studio 4.1 中,Memory Profiler (内存分析器) 可以记录本地内存分配的调用栈。...Native Memory Table (本地内存表格) 视图 从 Android Studio 4.1 Canary 6 开始,我们可以通过获取本地内存分配记录来分析为何内存未被释放。...在表格里右键点击一个元素会显示 "Jump to Source" 菜单 内存可视化 (本地和非本地) 我们还在内存分析器中增加了用于可视化数据的火焰图,您可以非常快速地找到分配内存最多的调用栈。...在 Android Studio 4.1 中,我们还增加了在应用启动时采集本地内存使用记录的功能。

    2.8K30

    JDBC工具类的抽取 - 封装获取连接、关闭资源

    JDBC工具类的抽取 - 封装获取连接、关闭资源 前言 在前面的篇章中,我使用了 Statement 完成 JDBC 增删改查,而且我们可以发现在代码中,存在代码重复的地方,例如:获取数据库连接、关闭资源...所以下面我们可以写一个 JDBC工具类,封装 获取数据库连接、关闭资源 这类的通用方法。...-- 获得连接的方法), (5-- 释放资源的方法) * 思路: * 定义一个类 * 在这个类里面定义两个方法 * 3....static { //静态代码块就会在类加载的时候执行 try { //读取jdbc.properties配置文件中的内容...* 找重复的: (1,2 -- 获得连接的方法), (5-- 释放资源的方法) * 思路: * 定义一个类 * 在这个类里面定义两个方法 * 3.

    83110

    Android中的各种Drawable类详解

    一旦用户改变了绘制区域时会激发onBoundsChange方法,派生类可以重载onBoundsChange来实现区域变更的处理。 // 获取和设定可绘制区域。...,新可绘制对象有可能会共享原来的资源,有可能不会,对于位图来说就会共享。...而下面的一些属性的实现其实就是简单的委托给了Paint类: //设置是否使用抗锯齿功能,会消耗较大资源,绘制图形速度会变慢。...状态stateSet可以使用:**android.R.attr.state_XXX ** 中列出的值。...通过类提供的构造方法来设置一个Picture图像对象。并将图像对象中内容绘制到画布中去。Picture类是一个抽象的图像对象,他可以从一个流中构造出来,也可以写到流中。

    1.6K20

    Android中Calendar类的用法总结

    Calendar是Android开发中需要获取时间时必不可少的一个工具类,通过这个类可以获得的时间信息还是很丰富的,下面做一个总结,以后使用的时候就不用总是去翻书或者查资料了。...在获取时间之前要先获得Calendar这个类的实例: private Calendar c = Calendar.getInstance(); 然后就可以用这个变量来获取时间了。...", "当前的月份为:" + (c.get(Calendar.MONTH) + 1)); 这个要特别注意一下,月份在Calendar中是从0开始的,也就是说1月份的值为0,因此需要加1才是现实中表示的月份...,还有一些奇怪的方法,比如获取某个Calendar所处的时间是公元前还是公元后的方法。。。...本篇文章中所使用到的部分代码已经上传至github,地址:https://github.com/sysukehan/AndroidTests.git,为Android Studio项目,其中的CalendarTest

    2.4K20

    Java中的反射(通过反射获取类的结构、invoke方法、获取注解)

    获取运行时类的完整结构 可以获取:包、修饰符、类型名、父类(包括泛型父类)、父接口(包括泛型父接口)、成员(属性、构造器、方法)、注解(类上的、方法上的、属性上的)。...System.out.println(f); // } //getDeclaredFields():获取当前运行时类中声明的所有属性,包括 private的属性...){ // System.out.println(m); // } // getDeclaredMethods():获取当前运行时类中声明的所有方法...> outer = ec.getDeclaringClass(); System.out.println(outer); } 2.7 总 结 了解了反射这么多API,其实在实际的操作中,通过反射获取类的信息的操作代码...调用运行时类的指定结构 3.1 调用指定的属性 在反射机制中,可以直接通过Field类操作类中的属性,通过Field类提供的set()和get()方法就可以完成设置和取得属性内容的操作。

    4.5K91

    App渗透 - Android应用的错误中获取漏洞

    从该死的不安全和易受攻击的应用程序中获取漏洞 Damn Insecure 漏洞App DIVA是一款漏洞App,旨在教授Android App中发现的漏洞、本文将引导你发现其中的一些漏洞。...步驟一:从这里解压缩DIVA APK档案 步驟二:使用Android Studio软体来设定Android实验室 步驟三:一旦你在模拟器上运行了DIVA应用,如果你想查看这个应用的java格式的源代码,...不安全的日志记录 ? 在Android Studio终端,访问adb命令Absolute Path。...我知道这一点的原因是在它的源代码中(在Jadx-gui中),我可以看到保存证书的地方在源代码中也提到了SharedPreferences。 ? ? ? 4. 不安全的数据存储 (2) ?...对于第二部分,源码显示,这次的凭证存储在SQL数据库中。 ? 在数据库中,有4个文件。在ids2文件内容中发现了密码。 ? ? 5. 不安全的数据存储(3) ?

    1.2K30

    Android怎么查看手机中的本地数据库

    我前几天做的项目中有本地数据库, 所以就 用的 SQLite,在调试数据库时,,很想看一下里面的表结构是否正确,这个时候就十分苦恼, 因为这个db文件不能够直接拿出来,我们知道,在DDMS里面有一个FileExplorer..., 它里面保存着手机中的各个文件夹,但是尝试打开里面的文件夹的时候,却发现怎么点都没有东西, 于是我就十分不解,明明我写了数据库,为什么没找到这个文件呢?...一、打开adb.exe 到sdk目录下,找到platform-tools,adb.exe就在这个文件夹下,尝试双击打开,发现cmd一闪而过,然后就没了 二、打开DDMS(Android Device...此时我们点击data,会发现data是无法打开的,然后我们进行下一步,通过cmd执行命令为我们获取相应的权限。 三、获取权限 在获取权限的时候,需要一步一步的获取文件夹权限。...1、获取data文件夹权限 在第一步打开的cmd中, 输入命令 adb shell su -c "chmod 777 /data" , 回车。

    8.3K20

    .NET 8 中 Android 资源生成的改进和变化

    新系统生成一个名为 _Microsoft.Android.Resource.Designer 程序集。其中包含每个程序集的所有最终资源类。 什么是 Android 资源?...为了从 C# 访问此数据,我们需要一种在代码中公开这些数据的方法。这是由项目 $(RootNamespace) 中的 Resource 类处理的。我们从 R.txt 中获取值并将它们公开在这个类中。...旧系统存在一些影响应用程序大小和启动性能的问题。在旧系统中,每个 Android 程序集都有自己的一组Resource类。所以我们实际上到处都有重复的代码。...这是因为只有当我们构建最终应用程序并生成 R.txt 文件时,我们才知道每个资源的Id。因此应用程序Resource类是唯一具有正确 Id的类。...,由于UpdateIdValues代码的存在,修剪器无法删除这些类中的任何一个。

    25110
    领券