Android中怎么使用Looper和Handler进行子线程数据操作和提交到UI线程
来源:互联网 发布:现在淘宝店铺免费吗? 编辑:程序博客网 时间:2024/05/18 02:10
由于:耗时耗时操作不建议(不能)放在UI线程中进行处理,那么子线程
处理的数据,如何递交到UI线程进行UI控件的操作和数据的适配。
1、Handler简介:
a、handler可以在任意线程中进行消息的发送,这些消息被添加到被关联的MessageQueue。
a、1、在UI线程中创建handler
2、把UI线程中创建好的handler的内存地址引用传递给子线程
3、在子线程中的run方法中,进行handler消息池中消息的获取。
4、封装消息内容
5、通过handler发送该消息。
6、在handler中接收该消息,进行消息处理。
b、1、在UI线程中获取Looper
(该handler即为处理UI控件的handler)
4、直接复写该handler的handleMessage方法,完成UI更新。
处理的数据,如何递交到UI线程进行UI控件的操作和数据的适配。
1、Handler简介:
a、handler可以在任意线程中进行消息的发送,这些消息被添加到被关联的MessageQueue。
b、handler可以处理来自被关联的Looper遍历出的消息。
a、1、在UI线程中创建handler
2、把UI线程中创建好的handler的内存地址引用传递给子线程
3、在子线程中的run方法中,进行handler消息池中消息的获取。
4、封装消息内容
5、通过handler发送该消息。
6、在handler中接收该消息,进行消息处理。
(PS:以上所有的handler,指的都是UI线程中创建的handler)
例,写一个在子线程中通过传递handler对象来修改UI线程中textView中的内容:
UI线程代码:
子线程代码:布局界面就是一个TextView在这里就不做赘述了。b、1、在UI线程中获取Looper
2、把UI线程中获取的Looper传递给子线程
3、在子线程的run方法中通过looper的传递实例化handler(该handler即为处理UI控件的handler)
4、直接复写该handler的handleMessage方法,完成UI更新。
UI线程代码:
4、拓展:子线程可以直接修改UI。
UI线程代码:
2 0
- Android中怎么使用Looper和Handler进行子线程数据操作和提交到UI线程
- 一个关于looper和handler的好玩例子(子线程中使用handler)
- handler looper 和 线程
- 子线程发消息到主线程进行更新 UI,除了 handler 和 AsyncTask,还有什么?
- Android中使用Handler和异步任务(AsyncTack)来为UI线程执行费时操作
- android开发 handler和looper 线程通信
- 线程中Handler和Looper的理解
- UI线程、Looper、Handler
- Android中webservice的简单使用以及使用handle在UI线程和子线程中传递数据
- Android中webservice的简单使用以及使用handle在UI线程和子线程中传递数据
- Android 子线程中操作UI线程
- Android中使用Handler和Thread线程执行后台操作
- Android中使用Handler和Thread线程执行后台操作
- Looper.prepare()和Looper.loop(),在子线程中更新UI
- Android中UI线程Looper,Handler的关系
- Android使用线程更新UI----Thread、Handler、Looper、TimerTask等
- Android UI线程和子线程共享数据
- 子线程中Looper与Handler的使用
- json工具类(详细版)
- 第四天打字
- 读书后感
- 数据的离散化处理
- c++ stl 数据交换算法swap_ranges
- Android中怎么使用Looper和Handler进行子线程数据操作和提交到UI线程
- marathon各种Port
- Markdown使用
- php接口
- 单点登录
- 互联网金融项目——工作日志(一)之点滴积累
- webview本地加载
- Linux学习之Debian(一):常用命令的安装-rz -sz
- 学习使用web of science查找文献