android中实现在工作线程与主线程互发消息
1、view UI界面设计:在mainLayout中创建2个EditText、2个button、1个textview,并为他们添加id;其中button需添加onclick事件
2、model模型层、控制层:
在Activity中(1)初始化3个view组件,(2)创建onclick方法通过主线程与工作线程的Handler交互传递消息实现更新progressbar
package org.yiqun.day18;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MyActivity extends Activity {
private EditText numEt01;
private EditText numEt02;
private TextView resultTv;
private HandlerThread ht;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
numEt01=(EditText)findViewById(R.id.editText1);
numEt02=(EditText)findViewById(R.id.editText2);
resultTv=(TextView)findViewById(R.id.textView1);
ht=new HandlerThread("WORRTHREAD");
ht.start();
}
//将页面输入的数据交给工作线程执行计算操作
public void onClick(View v){
//获得页面输入数据
String numStr1=numEt01.getText().toString();
String numStr2=numEt02.getText().toString();
//验证。。
int num1=Integer.parseInt(numStr1);
int num2=Integer.parseInt(numStr2);
//主线程发送消息(给工作线程)
Handler h=new Handler(ht.getLooper()){
int sum=0;
@Override
public