畅想!!

馨园

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
 

  Handler基本概念:
       Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而

       另外一个部分逐个的在消息队列中将消息取出,然后对消息进行处理,就是发送消息和接收消息不是同步的处理。

       这种机制通常用来处理相对耗时比较长的操作。

 

   分两个例子来熟悉 1、简单的Handler使用 2、Handler 操作进度条

 

   示例 1 

       步骤:1 新建android应用程序

 

               2 添加布局文件,并在其中添加两个按钮,按钮1 开始操作,按钮2结束操作    

 

               3 在Activity中创建Handler对象

                  

                 
 Handler handler = new Handler();

 

               4 在Activity中以匿名内部类的方式创建Runnable 对象,

                  把要执行的操作写在Runnable对象的run方法中

                 

Runnable runable = new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            System.out.println("Runnable");
            handler.postDelayed(runable, 2000);//延时2秒执行
        }
    };

 

 

               5 在Activity中 绑定按钮1 的监听事件,在这个监听器的onClick方法中调用

                  Handler对象的post方法,把要执行的线程对象(Runnable)放入到队列中。   

 

btnButton1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                handler.post(runable);
            }
        });

 

 

               6 在Activity中 绑定按钮2 的监听事件,在这个监听器的onClick方法中调用

                  Handler对象的 removeCallbacks 方法 ,把执行的线程移除队列。

 

 

btnButton2.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                handler.removeCallbacks(runable);
            }
        });

             

 

    

 

          

 

 

 

 

 

 

 

posted on 2012-04-11 15:48  阿乐01  阅读(512)  评论(0编辑  收藏  举报