Androidで反射を利用して他のjarパッケージを呼び出す方法
965 ワード
パッケージ名クラス名メソッド名
直接コードをつける.
このパケットを参照しない前提で,反射を用いてこのクラスのpay()メソッドを呼び出す.
このpayメソッドにパラメータがある場合、
直接コードをつける.
package com.moe.platform;
public class ThirdPlatform {
public void pay() {
Log.d("TFSDK", " ");
}
}
このパケットを参照しない前提で,反射を用いてこのクラスのpay()メソッドを呼び出す.
try {
Class> c = Class.forName("com.moe.platform.ThirdPlatform");
Object obj1 = c.newInstance();
//Object[] obj2 = new Object[1];
Method payMethod = c.getMethod("pay");
payMethod.invoke(obj1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
このpayメソッドにパラメータがある場合、
payMethod.invoke(obj1, );
ができました.簡単で使いやすいです.