• android handler 基本使用 1


     

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

                 

        

              

  • 相关阅读:
    171. Excel Sheet Column Number (Easy)
    349. Intersection of Two Arrays (Easy)
    453. Minimum Moves to Equal Array Elements (Easy)
    657. Judge Route Circle (Easy)
    CSS笔记
    保存页面状态
    UI开发总结
    ubuntu 下配置munin
    反向代理配置
    JavaScript 高级程序设计第二版
  • 原文地址:https://www.cnblogs.com/lpe110/p/2440898.html
Copyright © 2020-2023  润新知