宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述Android线程之间的通讯相关的知识,希望能为你提供帮助。
android之中,只有主线程当中能修改UI 的值,WorkThread中不能修改。因此在WorkThrean中运行比较耗时的程序,即在WorkThread中获取数据,然后将数据发送的主线程,再修改UI。
根据以上的思路来理解Android中个线程之间的通讯。
1、新建个TestHandler类,继承至Handler,
1)复写handlerMessage方法,来实现获取消息队列中的信息;
//新建handler对象Handler handler = new TestHandler(); //TestHandler类 class TestHandler extends Handler{ @Override public void handleMessage(Message msg) {} }
2、WorkThread类
1)继承至Thread;
2)在这里面进行发送数据的程序;
3)handler的obtainMessage方法可以获取到消息队列中的消息;
4)handler的sendMessage方法:将数据发送到主线程;
具体:
class testThread extends Thread{ @Override public void run() { try { //WorkThread中要做的事情 Thread.sleep(2000); } catch (InterruptedException e){ e.printStackTrace(); } finally{ //将消息发到主线程 String s = "test String"; Message msg = handler.obtainMessage(); msg.obj = s; handler.sendMessage(msg); } } }
3、编译之后实现的功能就是
1)按键按下后,启动WorkThread线程;
2)线程中处理、获取数据,再数据发送到主线程;
3)主线程中获得数据,再修改UI;
4、以后深入之后可以再WorkThread中获取网络数据,再发到主线程中,修改UI,从而显示给用户。
【Android线程之间的通讯】5、刚学Android不久,各处描述可能有不妥之处,以后发现再回过头来修改。。。。。
推荐阅读
- Xamarin.Android splash页面瞬间响应_避免APP启动闪白屏
- Android5.0开发范例大全 读书笔记
- JAVA安卓植物大战僵尸主题四子棋游戏
- Android软件开发之SharedPreferences
- Android中数据的传递
- android应用内存占用测试(每隔一秒打印procrank的信息)
- android studio中常用快捷键
- pod install和pod update – CocoaPods教程
- 安装和使用CocoaPods – CocoaPods教程