Android 中利用反射技术实现加减乘除
2010-08-17 11:00:00 来源:WEB开发网android:layout_width="wrap_content" android:layout_height="wrap_content">
< /LinearLayout>
< /LinearLayout>
下面就是一些对反射技术的操作代码了,由于本篇是反射机制的入门篇,在此只是通过一个小DEMO 讲解反射的常用的几个方法,这里的流程如下:
获取相应的类对象名称
Class classType = Class.forName("com.terry.operationClass");
如果知道类名并且类名存在于我们工程中,即jar 文件中包含可以使用如下写法
Class classType = operationClass.class;
返回本类对象
Object invokeOperation = classType.newInstance();
根据类对象名称去查找对应的方法
Method addMethod = classType.getMethod("add", new Class[] {
int.class, int.class });
参数一:代码需要查找类名的方法,参数二:指定查找方法的参数类型
调用查找 到的方法执行此方法的处理
Object result = addMethod.invoke(invokeOperation, new Object[] {
new Integer(first), new Integer(second) });
通过调用查找到的方法即可实现方法体的功能。
Tip:反射比较耗费系统资源,建议不在不得以的情况下不要用,尤其是在移动设备上这种对资源要求十分苛刻的设备。
运行效果如下:
下面给出全部页面代码:
package com.terry;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class OperationActivity extends Activity {
private EditText one, two;
private TextView result;
private Button add, cut, ride, Except, sum;
更多精彩
赞助商链接