首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Activity利用Handler与Thread开展通讯,写了一个简单Demo

2012-09-09 
Activity利用Handler与Thread进行通讯,写了一个简单Demo最近写了一个列子,想跟大家一起分享.用android.os.

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());}}}}

热点排行