demo地址

主要应用类

package com.example.activitylibrary;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;public class LibraryActivity extends Activity {String msg = "我是来自Jar中的Activity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(MResource.getIdByName(getApplication(), "layout", "activity_main"));TextView mTextView = (TextView) findViewById(MResource.getIdByName(getApplication(), "id", "textView1"));mTextView.setText(msg);Button mButton = (Button) findViewById(MResource.getIdByName(getApplication(), "id", "button1"));mButton.setText(msg);mButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(getApplication(), msg, Toast.LENGTH_SHORT).show();}});}}

具体工具类

package com.example.activitylibrary;import android.content.Context;/*** 根据资源的名字获取其ID值* @author**/
public class MResource {public static int getIdByName(Context context, String className, String name) {String packageName = context.getPackageName();Class r = null;int id = 0;try {r = Class.forName(packageName + ".R");Class[] classes = r.getClasses();Class desireClass = null;for (int i = 0; i < classes.length; ++i) {if (classes[i].getName().split("\\$")[1].equals(className)) {desireClass = classes[i];break;}}if (desireClass != null)id = desireClass.getField(name).getInt(desireClass);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (IllegalArgumentException e) {e.printStackTrace();} catch (SecurityException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (NoSuchFieldException e) {e.printStackTrace();}return id;}
}

转载于:https://www.cnblogs.com/flyingsir/p/3983699.html

通过资源名称得到资源id相关推荐

  1. Android:如何使用资源名称从资源中获取字符串?

    我想为UI提供2种语言,并在我的资源文件res\\values\\strings.xml为它们分别设置字符串值: <string name="tab_Books_en"> ...

  2. 【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表混淆 | resources.arsc 资源映射表二进制格式分析 | 混淆全局字符串池和资源名称字符串池 )

    文章目录 一.resources.arsc 资源映射表 混淆 二.resources.arsc 资源映射表二进制格式分析 三.参考资料 资源混淆时 , 需要修改混淆 resources.arsc 资源 ...

  3. Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    一. Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, ...

  4. 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19913755 . 一. Android资源文件简介 1 ...

  5. 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组...

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19913755 . 一. Android资源文件简介 1 ...

  6. android 指定资源id,Android 通过名称获取资源ID

    当我们获取网络数据的时候,解析之后往往都是一个字符串,而不是资源id,所有我们没有办法直接使用,只能通过名称来获取到资源id, package com.example.administrator.de ...

  7. Android中资源id的获取,根据id获取资源以及根据资源名称获取id。

    1.如何获取资源id        layout布局中: @资源类型/资源名       java代码实现: R.资源类型.资源名    2.如何根据id获取资源       getResources ...

  8. 【Android 安装包优化】移除无用资源 ( 自动移除无用资源 | 直接引用资源 | 动态获取资源 id | Lint 检查资源 )

    文章目录 一.自动移除无用资源 ( 不推荐使用 ) 二.直接引用资源与动态获取资源 1.直接引用资源 2.动态获取资源 id 三.Lint 检查资源 四.参考资料 一.自动移除无用资源 ( 不推荐使用 ...

  9. Kubernetes基本入门-名称空间资源(三)

    名称空间级资源 名称空间在kubernetes中主要的作用是做资源隔离,因此名称空间级别的资源只在当前名称空间下有效. 工作负载型资源 工作负载(workload)是在Kubernetes上运行的应用 ...

最新文章

  1. R语言可视化堆叠(stack)的条形图并通过另外一个分类变量分离(dodge)条形图(stacking by one variable and dodging by another)实战
  2. python + selenium + Js 处理轮动条
  3. SAP CRM Fiori 标准应用 My Account - search by ID 根据 ID 进行搜索的标准功能实现原理
  4. Tomcat 中文路径乱码
  5. TiDB 在 Ping++ 金融聚合支付业务中的实践
  6. javascript arguments 特殊 对象
  7. JAVA中CLASS.FORNAME的含义
  8. bat命令 (参数传递)
  9. 从mediaserver入手快速理解binder机制(最简单理解binder)
  10. Linux 下安装Node.js
  11. 遗传算法matlab工具箱及其应用
  12. List总结(LinkedList, ArrayList等使用场景和性能分析) [From skywang12345 ]
  13. OpenGL纹理叠加
  14. bzoj1627 / P2873 [USACO07DEC]泥水坑Mud Puddles
  15. 【Java面试系列】ElasticSearch面试题
  16. 分数段统计函数c语言,Excel 五个函数统计学生期末考试分数段
  17. ADB——查看手机设备信息
  18. SpringBoot教程(十一)——将Bean放入Spring容器中的五种方式
  19. configure报错
  20. 用Python写一个新年倒计时

热门文章

  1. 使用GeoTools创建一个具有纬度,经度和半径的圆
  2. AMQP Connection 127.0.0.1:5672] ERROR [o.s.a.rabbit.connection.CachingConnectionFactory] CachingConn
  3. idea 报错 java: 无效的源发行版: 11
  4. ORACLE索引重建方法与索引的三种状态
  5. MySQL 存储过程 if语句
  6. Android开发笔记(一百五十二)H5通过WebView上传图片
  7. mvc中嵌入html,MVC Razor与javascript混编(js中嵌入razor)
  8. 关于jQuery获取html标签自定义属性值或data值
  9. Java 语言的几个缺陷(个人感觉)
  10. 0505.Net基础班第十三天(面向对象多态)