关于android的消息队列(handler)
来源:互联网 发布:淘宝达人如何挣钱 编辑:程序博客网 时间:2024/04/27 21:07
软件开发避免不了多线程问题,线程之间的通信显得尤为重要。在android系统中采用了消息队列的方式进行线程通信,
消息队列的核心是handler!
有一篇文章可以供大家参考,以便了解消息队列到底是什么东东!
Android 的消息队列模型
下面我写了一个小例子:
AndroidThreadTestActivity.java
package com.mjb.activity;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.Toast;import com.mjb.thread.MyThread;public class AndroidThreadTestActivity extends Activity {private static Handler mianHandler=null; public static Handler getHandler() {return mianHandler;}@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mianHandler=new Handler(){ //这里相当于复写了Handler的handleMessage方法,当前线程收到消息后会调用这个方法处理! //handler在那个线程创建就属于那个线程,想要向这个线程发送消息,需要用这个handler对象! @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub if(msg.what==5){ showToast(); } if(msg.what==9){ System.out.println("9"); } super.handleMessage(msg); } }; System.out.println("主线程"+Thread.currentThread().getId()); MyThread myThread=new MyThread(); Thread thread=new Thread(myThread); thread.start(); } public void showToast(){ Toast.makeText(this, "收到子线程消息", Toast.LENGTH_SHORT).show(); } }
MyThread.java
package com.mjb.thread;import com.mjb.activity.AndroidThreadTestActivity;import android.os.Handler;import android.os.Message; public class MyThread implements Runnable{ private Handler mainHandler;@Override public void run() {//mainHandler对象来自AndroidThreadTestActivity mainHandler=AndroidThreadTestActivity.getHandler(); Message message=new Message(); message.what=5; mainHandler.sendMessage(message); mainHandler.sendEmptyMessage(9); System.out.println("子线程"+Thread.currentThread().getId()); } }
这样就完成了一个简单的线程通信,子线程向主线程发送消息!
- 关于android的消息队列(handler)
- 关于android Handler进行线程处理消息队列与线程队列线程无法停止的问题
- Android消息队列(一)--Handler使用
- android消息队列机制(Handler)
- Android handler消息队列机制
- Android消息队列源码解析(Handler、Looper、Message、MessageQueue)
- 【Android自助餐】Handler消息机制完全解析(二)MessageQueue的队列管理
- Android多线程Handler、Looper、消息队列
- Android多线程Handler、Looper、消息队列
- android中关于消息Message与Handler的详解
- 如何停止Handler的消息队列
- 关于消息队列的使用(转载)
- Android 的消息机制(Handler消息传递机制)
- [Android]Handler的消息机制
- 关于 Android 异步消息处理机制 Handler
- 关于Android中的Handler消息机制
- Handler发送消息后消息队列的处理
- 关于Android的Handler
- Windows Azure功能更新:虚拟机按分钟计费、更灵活的免费账户、网站服务的SSL增强、虚拟机ACL、MSDN会员优惠
- Lua中实现默认值表的方法
- 安卓开发01:安卓环境安装
- 豌豆荚市场上一些主流应用的支持版本
- FormsAuthentication实现登录
- 关于android的消息队列(handler)
- C++链表1
- 软文写作之情绪化的利用
- hdu 4403
- ASP.Net环境下使用Jmail组件发送邮件
- VC环境下的头文件包含
- 从实验室到山寨,技术发展的普遍道路
- UPMS通用用户权限系统——添加枚举类型的用户属性,获取枚举值
- 鸽子在两人相遇前的飞行路程