首页
学习
活动
专区
工具
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获取其他应用assets资源

最近有这样一个需求:A应用在一定条件下出发某个逻辑后,需要从B应用获取一些资源(assets下mp4视频、还有drawable下一些图片用作背景),具体需求就不说啦哈哈,用一张图来表示应该更明白:...一般我们获取app内资源肯定是要获取到Resource这个,而Resource是通过ContextgetResource获取到了,所以我们只需要获取到B应用Context就可以了。...在创建出Context之后,就可以通过获取Resource获取对应资源了。...bContext.getPackageName()); 但是assets资源就没有这么方便了。...虽然通过context可以获取到对应assetsManager,但是在操作assetsManager获取资源时候就出现问题了:在assets获取资源一般都是通过文件或者流方式,但是我在操作时候直接抛出异常

2K60

【编程基础】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.4K20

    Java 枚举使用

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

    1.6K20

    基于Android获取资源id和url方法总结

    一、获取android工程里面的各种资源id; 1.1 string型 比如下面: << string name=”OK” 客户端请求成功 << / string //string资源...型 比如下面: << color name=”colorPrimary” #3F51B5 << /color //color资源 id 获取 int colorId = getResources...", "layout", getPackageName()); 二、获取Android系统里面的资源id //获取系统里资源id android.R.drawable.ic_menu_share int...获取Android工程资源Uri路径,一般是图片,res或者asset下 //*获取Res资源url ContentResolver.SCHEME_ANDROID_RESOURCE*/ Uri uri...("file:///android_asset/" + "qq.png"); 以上这篇基于Android获取资源id和url方法总结就是小编分享给大家全部内容了,希望能给大家一个参考。

    2.4K30

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

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

    1.2K10

    Android编程实现通过反射获取资源Id方法

    本文实例讲述了Android编程实现通过反射获取资源Id方法。...分享给大家供大家参考,具体如下: 在将自己写工具打成.jar包时候,有时候会需要引用到res资源,这时候不能将资源一起打包,只能通过反射机制动态获取资源....特别用在自己定义一个工具将其打成.jar包时,特别注意资源获取 1、封装成一个工具 package com.cp.utils; import android.content.Context; public...paramContext.getResources().getIdentifier(paramString, "array", paramContext.getPackageName()); } } 2、资源获取...更多关于Android相关内容感兴趣读者可查看本站专题:《Android资源操作技巧汇总》、《Android布局layout技巧总结》、《Android视图View技巧总结》、《Android数据库操作技巧总结

    1.6K20

    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.7K30

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

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

    81510

    Android开发实现在Wifi下获取本地IP地址方法

    本文实例讲述了Android开发实现在Wifi下获取本地IP地址方法。...分享给大家供大家参考,具体如下: 代码核心介绍: WifiManager提供了对设备Wifi功能管理,包括Wifi开关打开和关闭,IP地址获取等等,早期Android版本甚至支持对于IP设置。...在这里仅介绍其简单一个小应用——获取IP地址。 首先先添加Uses-Permission:CHANGE_WIFI_STATE,WAKE_LOCK和ACCESS_WIFI_STATE。...wm.isWifiEnabled()) wm.setWifiEnabled(true); WifiInfo wi=wm.getConnectionInfo(); //获取32位整型IP地址...相关内容感兴趣读者可查看本站专题:《Android硬件相关操作与应用总结》、《Android资源操作技巧汇总》、《Android视图View技巧总结》、《Android开发入门与进阶教程》及《Android

    2.3K41

    Android各种Drawable详解

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

    1.6K20

    AndroidCalendar用法总结

    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.3K20
    领券