handler 进行主线程与子线程之间的信息传递
2015-04-01 18:06
323 查看
子线程与主线程之间进行消息的传递:这里应用了handlerThread这个方式进行新的子线程的启动,因为在启动子线程的时候,想要新建一个Loop对象则要调用其相应的方法,这个方法是Google提供的,为我们自动开启了一个Looper,并且避免了在子线程中的NULL exception :
结果:
![](http://img.blog.csdn.net/20150401180954446?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHVzaHVhbmdzaHVhbmcx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这样互相交替的出现,就是子线程收到数据后给主线程一个返回,主线程收到后,给子线程一个反馈,这样就实现了互相的数据传递
public class MainActivity extends Activity { private TextView textView; Handler mainHandler = new Handler(){ @Override public void handleMessage(Message msg) { Message message = new Message(); Log.e("test"," main Thread"); <span style="color:#ff0000;">sonHandler.sendMessageDelayed(message, 1000);//这里是子线程的handler对象进行调用,并且实现线程的传递</span> } }; Handler sonHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.hello); textView.setOnClickListener(new View.OnClickListener() {//为text添加点击事件,目的是启动主线程的message的调用 @Override public void onClick(View v) { mainHandler.handleMessage(new Message()); } }); HandlerThread sonThread = new HandlerThread("sonThread"); sonThread.start(); sonHandler = new Handler(sonThread.getLooper()){ @Override public void handleMessage(Message msg) { Log.e("test"," son Thread"); Message message = new Message(); <span style="color:#ff0000;">mainHandler.sendMessageDelayed(message,1000);//主要是这里,主线程的handler对象调用send方法进行方法的传递</span> } };
结果:
这样互相交替的出现,就是子线程收到数据后给主线程一个返回,主线程收到后,给子线程一个反馈,这样就实现了互相的数据传递
相关文章推荐
- 使用Handler实现主线程与子线程之间互相传递消息
- 使用Handler在线程之间传递消息所遇到的问题及解决方法
- XZ_iOS之block实现在cell和controller之间进行信息传递
- Handler详解系列(四)——利用Handler在主线程与子线程之间互发消息,handler详解
- Android学习笔记--Handler主线程与子线程之间的通信
- 初识安卓之利用Handler进行线程间数据传递
- Android--Handler(承担着子线程和主线程之间的通信)
- 用Handler的post()方法来传递线程中的代码段到主线程中执行
- Handler消息传递机制(子线程中传递new Handler和主线程中new Handle传递消息)
- Android 利用handler在线程之间传递代码
- WorkerThread与MainThread之间通过Handler进行最简单的消息传递
- Handler:子线程往主线程传递数据
- Handler详解系列(四)——利用Handler在主线程与子线程之间互发消息
- 利用Handler在主线程与子线程之间互发消息,handler详解
- ArrayList和数组之间的一些转换 Handler的主线程与子线程通信 内部类的使用
- 用Handler的post()方法来传递线程中的代码段到主线程中执行
- Handler消息传递机制(四)子线程接收主线程发送的消息
- handler 主线程向子线程中进行信息传递
- android通过Handler在线程之间传递消息
- ArrayList 和数组之间的一些转换 Handler的主线程与子线程通信 内部类的使用