注意:
(1)主线程不能够做耗时的操作,网络请求就是耗时的操作需要放到子线程做。
(2)子线程不能更新控件的内容(更新Ui)。所以产生了矛盾,解决办法就是使用Handler(处理消息机制).
Handler:消息机制的写法(重要)
使用Handler的步骤:
1.主线程中创建一个Handler
private Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { }; };
2.重写handler的handlermessage方法
3.子线程中创建一个Message对象,将获取的数据绑定给msg
Message msg = new Message(); //另一种方式:Message msg = Messge.obtain; msg.obj = result;
4.主线程中的handler对象在子线程中将message发送给主线程
handler.sendMessage(msg);
5.主线程中handlermessage方法接受子线程发来的数据,就可以做更新UI的操作。
时间: 2024-10-13 20:24:01