Handler通信(慕课)

1.Handler 是什么?

2.为什么要使用Handler?

3.Handler/Looper/MessageQueue/Message分别是做什么?

4.Handler如何去实现?

5.工作原理

6.如何更好的使用

Handler 线程与线程的处理关系(主要作用用于定时任务和实现不同线程间通信)

Looper  循环

Message 消息

MessageQueue 消息队列 存储消息

单线程

// 创建Handler
        Handler handler = new Handler(){
            @Override
            public void handleMessage(Message msg){
                super.handleMessage(msg);
                // 处理消息
                Log.d(TAG,"handleMessage:" + msg.what);
            }
        };

        findViewById(R.id.handler_btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //textView.setText("imooc");
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        textView.setText("imooc");
                    }
                }).start();

            }
        });

 报了这个错

 android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

 当程序第一次启动时,Android会启动一条主线程,用于负责接收用户的输入,将运行的结果反馈给用户,也称为UI线程,而子线程是指为了执行一些可能产生阻塞操作而新启动的线程也称为Worker线程

  // 创建Handler
        // 主线程
        Handler handler = new Handler(){
            @Override
            public void handleMessage(Message msg){
                super.handleMessage(msg);
                // 处理消息
                Log.d(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值