Java Android中的反射?
我有点被当前的Android应用程序项目卡住了,问题是我的AppPreference类中有84个变量,现在我需要一次获取所有这些变量,创建包并通过蓝牙发送,我想也许反射可以帮助我做到这一点,以下是我正在尝试做的: 1.-用我的i和j变量构建一个字符串:Java Android中的反射?,java,android,Java,Android,我有点被当前的Android应用程序项目卡住了,问题是我的AppPreference类中有84个变量,现在我需要一次获取所有这些变量,创建包并通过蓝牙发送,我想也许反射可以帮助我做到这一点,以下是我正在尝试做的: 1.-用我的i和j变量构建一个字符串: for(int i=1;i <= 7;i++){ for(int j = 1;j <=4;j++){ String func ="getD"+i+"t"+j+"h"; }
for(int i=1;i <= 7;i++){
for(int j = 1;j <=4;j++){
String func ="getD"+i+"t"+j+"h";
}
}
3.-类的实例称为_appPreferences:
_appPrefs = new AppPreferences(getContext().getApplicationContext());
public static void main(String[] args) {
AppPreferences preferences = new AppPreferences();
for(int i=1;i <= 7;i++){
for(int j = 1;j <=4;j++){
try {
String func ="getD"+i+"t"+j+"h";
Method method = AppPreferences.class.getMethod(func);
Object result = method.invoke(preferences);
System.out.print(result);
} catch (Exception e) {
System.err.print(".");
}
}
}
4.-我想这样做:
public void syncData(){
for(int i=1;i <= 7;i++){
for(int j = 1;j <=4;j++){
String func ="getD"+i+"t"+j+"h";
String temp = _appPrefs.func;
}
}
}
public void syncData(){
对于(int i=1;i让我们假设您有:
class AppPreferences {
public void d2t3h() {
System.out.println("helo");
}
}
然后尝试下一个代码(工作示例,我使用了静态嵌套类AppPreferences):
需要这种方法吗?为什么不使用map或list并添加适当的逻辑来简化您想要做的事情。HashMap
?HashMap…???类似的东西有什么问题?我如何填充HashMap?它也需要类似的东西?问题是,所有这些值都需要为用户每t保存一次当他们打开应用程序时,应用程序的全部内容是配置在Arduino上运行的计划。“a”在方法中代表什么。调用(a)?我对思考真的很陌生:C@IñakiPedrocheAramburu a->appPreferences,我用安全套名称更新代码您就是那个人,非常感谢,这是公认的答案。@IñakiPedrocheAramburu,我是来帮忙的;)
public static void main(String[] args) {
AppPreferences preferences = new AppPreferences();
for(int i=1;i <= 7;i++){
for(int j = 1;j <=4;j++){
try {
String func ="getD"+i+"t"+j+"h";
Method method = AppPreferences.class.getMethod(func);
Object result = method.invoke(preferences);
System.out.print(result);
} catch (Exception e) {
System.err.print(".");
}
}
}
Method method = AppPreferences.class.getMethod(func, String.class);
Object result = method.invoke(a, "param");