Activity利用Handler与Thread进行通讯,写了一个简单Demo
来源:互联网 发布:js点击图片弹出div 编辑:程序博客网 时间:2024/05/16 17:02
最近写了一个列子,想跟大家一起分享.
用android.os.Handler、java.lang.Thread以及android.os.Message这三个类的整合应用。
这里只有Activity类代码.其他的一些布局文件,我想看到以下代码,你们因该明白.
用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");
- @Override
- protected 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() {
- @Override
- public 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{
- @Override
- public 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 block
- e.printStackTrace();
- }
- }
- }
- }
- class MyHandler extends Handler{
- public MyHandler(Looper looper){
- super(looper);
- }
- @Override
- public void handleMessage(Message msg) {
- Log.i("System.out", msg.obj+"");
- if(msg.what == 1){
- textView.setText(msg.obj.toString());
- }
- }
- }
- }
from : http://wangming2012.iteye.com/blog/1558743
- Activity利用Handler与Thread进行通讯,写了一个简单Demo
- 写了一个简单ResideMenu的Demo
- Activity与Thread之间的通讯
- Activity与Thread之间的通讯
- Activity与Thread之间的通讯
- Activity与Thread之间的通讯
- Activity与Thread之间的通讯
- Activity与Thread之间的通讯
- Activity与Thread之间的通讯
- Activity与Thread之间的通讯
- Activity与Thread之间的通讯
- Activity与Thread之间的通讯
- 一个简单的非阻塞通讯DEMO。。。
- 一个简单地socket通讯Demo
- Thread进行通讯
- 使用AsyncTask--->对Handler 和Thread 进行了封装
- Activity与Activity利用接口进行数据通信
- 利用Handler更简单的实现Service与Activity的通信,更新UI
- Activity与Service通信(不同进程之间)
- IOS面试题收集
- 《数据结构和算法分析---C语言描述》读书笔记
- Android应用程序消息处理机制(Looper、Handler)分析
- Activity与Thread之间的通讯
- Activity利用Handler与Thread进行通讯,写了一个简单Demo
- Android 中的 Service 全面总结
- VMware+Windgb+Win7
- android-Service和Thread的区别
- hdu 1019Least Common Multiple
- 如何检查Android后台服务线程(Service类)是否正在运行
- ubuntu13.04 rabbitvcs安装
- 在Android上编译linux内核驱动程序
- 读书1,心如臭死水当止水,麻木装仁假慈悲,受气者和气人者一样可恶