handler

来源:互联网 发布:大数据存储公司 编辑:程序博客网 时间:2024/05/28 19:23

handler android中的异步,多线程方法 ——总结

参考文档

  • 一般情况我们的使用方法就是这样了

    1) looper: 一个线程可以产生一个looper对象,由它来管理此线程里的message queue(消息队列)

    2) handler: 你可以构造一个handler对象来与looper沟通,以便push新消息到messagequeue里;或者接收looper(从messagequeue里取出)所送来的消息。

private Handler handler = new Handler()){    public void handleMessage(android.os.Message msg) {        switch (msg.what) {        case 1:            Toast.makeText(MainActivity.this, "获取数据失败", 0).show();            break;        case 2:            Toast.makeText(MainActivity.this, "获取数据失败", 0).show();            break;        }    };      private Runnable myRunnable= new Runnable() {            public void run() {              if (run) {                  handler.postDelayed(this, 1000);                  count++;              }              tvCounter.setText("Count: " + count);              handler.sendEmptyMessage(1);        }      };
  • 当然我们还有其他的办法
     采用runOnUiThread(new Runnable()),这要实现Runnable借口,我们可以直接在这个线程中进行UI的更新。是api提供的方法,较为便捷。
    private Runnable myRunnable= new Runnable() {            public void run() {   runOnUiThread(new Runnable() {                    @Override                    public void run() {                        // TODO Auto-generated method stub                        Toast.makeText(MainActivity.this, result, 0).show();                    }                });        }      };
0 0
原创粉丝点击