如何在协作开发安卓项目中打jar包给合作人
来源:互联网 发布:淘宝苏宁易购是正品吗 编辑:程序博客网 时间:2024/05/10 10:05
一般情况下,id都是安卓自动生成的。使用时只要用R.id.xx就可以了。但是,在合作开发安卓时,需要将自己开发的代码部分打成jar包,甚至做混淆。
这就需要使用java的反射机制。在取id时使用如下类,避免了硬编码。res文件只能乖乖的交给合作方了。当然可能还有更好的方法解决这个问题。
使用方法如:
(ImageButton) findViewById(GetItemId.getIdResIDByName(this, "title_exit"));
import java.lang.reflect.Field;
import android.content.Context;
import android.util.Log;
public class GetItemId {
public static int getItemId(Context paramContext, String paramString1,
String paramString2) {
try {
Class<?> localClass = Class.forName(paramContext.getPackageName()
+ ".R$" + paramString1);
Field localField = localClass.getField(paramString2);
int i = Integer.parseInt(localField.get(localField.getName())
.toString());
return i;
} catch (Exception localException) {
Log.e("getIdByReflection error", localException.getMessage());
}
return 0;
}
public static int[] getItemIdArray(Context paramContext,
String paramString1, String paramString2) {
try {
Class<?> localClass = Class.forName(paramContext.getPackageName()
+ ".R$" + paramString1);
Field localField = localClass.getField(paramString2);
int[] i = (int[]) localField.get(localField.getName().toString());
return i;
} catch (Exception localException) {
Log.e("getIdByReflection error", localException.getMessage());
}
return null;
}
public static int getLayoutResIDByName(Context context, String name) {
return context.getResources().getIdentifier(name, "layout",
context.getPackageName());
}
public static int getIdResIDByName(Context context, String name) {
return context.getResources().getIdentifier(name, "id",
context.getPackageName());
}
public static int getStringResIDByName(Context context, String name) {
return context.getResources().getIdentifier(name, "string",
context.getPackageName());
}
public static int getDrawableResIDByName(Context context, String name) {
return context.getResources().getIdentifier(name, "drawable",
context.getPackageName());
}
}
- 如何在协作开发安卓项目中打jar包给合作人
- 如何给maven项目打可执行jar包
- 将安卓项目导出为jar架包以及在安卓工程中引入jar架包
- Java中如何打jar包
- Java中如何打jar包
- Java中如何打jar包
- Java中如何打jar包
- Android Studio中如何打JAR包
- Android Studio中如何打JAR包
- Android Studio中如何打JAR包
- Android Studio中如何打JAR包
- Android Studio中如何打JAR包
- 手动给帮助类打 jar包 和 给Web项目打 war包
- 手动给帮助类打 jar包 和 给Web项目打 war包
- 手动给帮助类打 jar包 和 给Web项目打 war包
- 如何打jar包
- 如何打jar包
- 如何打jar包
- 使用wget命令下载ftp中的文件
- UML类图(清晰)
- C++模板实战7:标准库算法
- centos定时备份web工程和sql文件并上传到ftp
- 各种浏览器兼容性报告大全
- 如何在协作开发安卓项目中打jar包给合作人
- 【Avalon】Avalon笔记(解析Dom模板树,按自己的规范)
- BASE64Encoder依赖的jar包配置方式
- C语言中的内存分配与释放
- How To Customize Tab Bar Background and Appearance
- 行为识别特征提取综述
- Visual C++利用Intel C++ 编译器提升多核性能与多媒体指令支持获取更高的程序效率与缩小程序体积
- Android中关于SharedPreferences的使用简介
- 算法练习之水题