博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何把使用到android res文件夹下面资源(R.xx.xx)的工程打包成jar文件,供其它项目使用...
阅读量:6969 次
发布时间:2019-06-27

本文共 2396 字,大约阅读时间需要 7 分钟。

我们需要把代码里面的R.xx.xx改成以下方式读取:

1 package com.xlcw.sdk.tool; 2  3 import java.lang.reflect.Field; 4 import android.content.Context; 5 import android.util.Log; 6  7 public class GetItemId{ 8      9     public static Context paramContext;10     11     public static void setContext(Context paramContext)12     {13         GetItemId.paramContext = paramContext;14     }15     16     public static int getItemId(String paramString1,17             String paramString2) {18         try {19             Class
localClass = Class.forName(paramContext.getPackageName()20 + ".R$" + paramString1);21 Field localField = localClass.getField(paramString2);22 int i = Integer.parseInt(localField.get(localField.getName())23 .toString());24 return i;25 } catch (Exception localException) {26 Log.e("getIdByReflection error", localException.getMessage());27 }28 return 0;29 }30 31 public static int[] getItemIdArray(String paramString1, String paramString2) {32 try {33 Class
localClass = Class.forName(paramContext.getPackageName()34 + ".R$" + paramString1);35 Field localField = localClass.getField(paramString2);36 int[] i = (int[]) localField.get(localField.getName().toString());37 return i;38 } catch (Exception localException) {39 Log.e("getIdByReflection error", localException.getMessage());40 }41 return null;42 }43 44 public static int getLayoutResIDByName(String name) {45 return paramContext.getResources().getIdentifier(name, "layout",46 paramContext.getPackageName());47 }48 49 public static int getIdResIDByName(String name) {50 return paramContext.getResources().getIdentifier(name, "id",51 paramContext.getPackageName());52 }53 54 public static int getStringResIDByName(String name) {55 return paramContext.getResources().getIdentifier(name, "string",56 paramContext.getPackageName());57 }58 59 public static int getDrawableResIDByName(String name) {60 return paramContext.getResources().getIdentifier(name, "drawable",61 paramContext.getPackageName());62 }63 64 }

 

转载于:https://www.cnblogs.com/xiaoxiangmomo/p/4982932.html

你可能感兴趣的文章
【转】libvirt kvm 虚拟机上网 – Bridge桥接
查看>>
c/c++ helloworld
查看>>
xopy写批处理的忌讳..
查看>>
为程序添加系统上下文菜单
查看>>
css色彩对应值
查看>>
XWiki 4.3 正式版发布
查看>>
java中finally和return的执行顺序
查看>>
.net微信公众号开发——群发消息
查看>>
纪念逝去的岁月——C++实现一个队列(使用类模板)
查看>>
GO语言练习:多返回值函数
查看>>
让x86的android模拟器能模拟arm架构系统
查看>>
初学Struts2-自定义拦截器及其配置
查看>>
关于js中的几个小问题。
查看>>
hdoj-2058-the sum problem
查看>>
MySql基础整理
查看>>
Spring Bean Scope 有状态的Bean 无状态的Bean
查看>>
php 批量修改文件格式或重命名
查看>>
Android数据加密之Aes加密
查看>>
InputStream,String相互转化
查看>>
Atitit.gui api自动化调用技术原理与实践
查看>>