读书人

Activity利用Handler与Thread开展通讯

发布时间: 2012-09-09 09:27:54 作者: rapoo

Activity利用Handler与Thread进行通讯,写了一个简单Demo
最近写了一个列子,想跟大家一起分享.
用android.os.Handler、java.lang.Thread以及android.os.Message这三个类的整合应用。
这里只有Activity类代码.其他的一些布局文件,我想看到以下代码,你们因该明白.

import java.text.SimpleDateFormat;import java.util.Date;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Looper;import android.os.Message;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;import com.wm.nsp.R;public class DateHandlerActiviy extends Activity {private MyHandler myHandler;private TextView textView;private boolean bool = true;private static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.date);textView = (TextView)findViewById(R.id.textView);Button startButton = (Button)findViewById(R.id.startButton);Button endButton = (Button)findViewById(R.id.endButton);startButton.setOnClickListener(listener);endButton.setOnClickListener(listener);myHandler = new MyHandler(Looper.getMainLooper());}private OnClickListener listener = new OnClickListener() {@Overridepublic void onClick(View v) {switch(v.getId()){case R.id.startButton:bool = true;new myThread().start();//启动线程,开始计时break;case R.id.endButton:bool = false;//结束线程break;default: break;}}};class myThread extends Thread{@Overridepublic void run() {while(bool){Message message = myHandler.obtainMessage();message.what = 1;message.obj = simpleDateFormat.format(new Date());myHandler.sendMessage(message);try {Thread.sleep(1000);//休息一秒} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}class MyHandler extends Handler{public MyHandler(Looper looper){super(looper);}@Overridepublic void handleMessage(Message msg) {Log.i("System.out", msg.obj+"");if(msg.what == 1){textView.setText(msg.obj.toString());}}}}

读书人网 >编程

热点推荐