Android 笔记: 子线程请求网络 与主线程通信 渲染UI 使用handler

 @SuppressLint("HandlerLeak")
    Handler handler;

首先在activity里声明 Handler
然后在子线程中请求网络
Message 对象在子进程中声明

Message message = new Message();
message.what = 1;
Bundle bundle = new Bundle();
bundle.putString("msg", "此电脑已经开机");
message.setData(bundle);
handler.sendMessage(message);

回到主线程
用 handler 接收message

handler = new Handler(Looper.myLooper()) {
            @Override
            public void handleMessage(Message msg) {
                if (msg.what == 1)
                    Toast.makeText(MainActivity.this, msg.getData().getString("msg"), Toast.LENGTH_LONG).show();
            }
        };

在handle Message 方法中可以渲染UI

你可能感兴趣的:(笔记,android,ui,网络)