码迷,mamicode.com
首页 > 编程语言 > 详细

多线程之Thread+handler

时间:2014-06-28 10:09:47      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   color   get   

应用开发中,经常会遇到需要多线程技术的时候,比如UI显示和数据处理分开。

在实际应用中经常会遇到这种场景,我们需要新开一个线程来监听数据状态(数据状态的改变,接收数据,发送数据等等),当发现数据状态改变时通知主线程(通过消息机制发送消息到主线程),主线程接收到通知之后进行处理(自定义消息处理接口)。

具体实现如下:

  1. 准备线程的创建和消息的处理,这里需要用到android里面的Handler和Thread类,在主线程中添加两个成员Handler、Thread,并实现消息的发送和处理:
    private Handler handler = new Handler(){
    
        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub
            switch(msg.what){
                case 0:
                    //添加自定义消息处理
                    //...
                    break;
                default:break;
            }
        }
    
    };
    private Thread MagCardDataListenThread = new Thread(new Runnable(){
    
        @Override
        public void run() {
            // TODO Auto-generated method stub
            while(isMagCardRunning){
                try{
                    Thread.currentThread().sleep(1000);
                    //状态改变时发送消息到主线程
                    if(magcard.IsGetMagCardData()){
                        Message msg = new Message();
                        msg.what = 0;
                        handler.sendMessage(msg);
                        }
                    }catch(InterruptedException e){
                        e.printStackTrace();
                    }
            }
    
        }
    });
  2. 启动子线程
     MagCardDataListenThread.start();

    以上文章摘自:http://blog.csdn.net/imyang2007/article/details/7839883

多线程之Thread+handler,布布扣,bubuko.com

多线程之Thread+handler

标签:android   style   blog   http   color   get   

原文地址:http://www.cnblogs.com/jinghua1425/p/3810937.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!