美文网首页
android随笔之Handler

android随笔之Handler

作者: android老菜鸟 | 来源:发表于2020-09-24 17:00 被阅读0次

问1:Handler问题三连:是什么?有什么用?为什么要用Handler,不用行不行?

答:Android定义的一套 子线程与主线程间通讯 的 消息传递机制 ;
把子线程中的 UI更新信息,传递 给主线程(UI线程),以此完成UI更新操作;
不行,Handler是android在设计之初就封装了一套消息创建、传递、处理;

问2:真的只能在主(UI)线程中更新UI吗?

答:建议在主线程中更新UI,如果你说我偏不!我就要子线程更新UI,行,阔以,

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_handler_test);

        new Thread(new Runnable() {
            @Override
            public void run() {
                Looper.prepare();
                AlertDialog.Builder builder = new AlertDialog.Builder(HandlerTestActivity.this);
                builder.setTitle("请回答");
                builder.setMessage("你觉得我好看吗??");
                builder.setPositiveButton("当然是好看了", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
                builder.setNegativeButton("我觉得不好看", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
                builder.create().show();
                Looper.loop();
            }
        }).start();
    }
Screenshot_1596791014.png

喏,这不就在主线程中更新了UI了嘛,不过呢,不建议这样做。

问3:真的不能在主(UI)线程中执行网络操作吗?

相关文章

网友评论

      本文标题:android随笔之Handler

      本文链接:https://www.haomeiwen.com/subject/mvefdktx.html