android通讯机制
来源:互联网 发布:ipad手写板软件 编辑:程序博客网 时间:2024/06/05 05:46
java里线程间通讯用SOCKET,输入输出流,那么android用什么通讯呢?答案是主要是Handler
1、 Handler的主要功能是发送消息,处理消息;实例化后,系统默认是在当前线程处理消息。当然,我们也可以人 为的设置在哪里处理消息;myLooper表示在当前线程处理消息,将它作为参数传入即可
2、而接收消息的工作则是由MessageQueue简称MQ,MQ的特点是先进先出;而现在的MQ则是封装在Looper里 面。因此,只要我们在一个普通线程里加上两行代码就可以将它变成可以循环工作的线程。代码如下:
new Thread(new Runnable(){
public void run(){
Looper.prepare(); //初始化消息队列
Looper.loop(); //循环监听队列
}
}).start();
3. 一个完整的通讯过程是:首先由Handler.SendMessage(Message msg),由MQ接收消息。MQ里一直监听的looper收 到消息后立即将该消息推送给Handler,再由Handler调用HandleMessage方法进行处理。如果有多条消息则需要 加以识别。
public class TransportActivity extends AppCompatActivity { public TextView mTextView; private Handler mhandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_transport_layout); mTextView= (TextView) findViewById(R.id.tansport_txt); // TODO: 2016/6/13 主线程里处理消息 mhandler=new Handler(){ public void handleMessage(Message msg) { int type = msg.arg1; // TODO: 2016/6/13 标识识别 switch (type){ case 0: Intent intent = new Intent(TransportActivity.this, MainLayoutActivity.class); startActivity(intent); finish(); break; case 1: String count = (String) msg.obj; mTextView.setText(count); break; } } }; // TODO: 2016/6/13 在子线程里发送消息 Message message = Message.obtain(); message.arg1=0; // TODO: 2016/6/13 标识1 mhandler.sendMessageDelayed(message,4000); new Thread(new Runnable() { int i; @Override public void run() { for(i=4;i>0;i--){ Message message = Message.obtain(); message.arg1=1; // TODO: 2016/6/13 标识2 message.obj=i+""; mhandler.sendMessage(message); SystemClock.sleep(1000); } } }).start(); }}
1 0
- android通讯机制
- Android Binder通讯机制
- Android中的电话通讯机制
- Android IPC 通讯机制源码分析 二
- Android IPC 通讯机制源码分析
- Android IPC 通讯机制源码分析
- Android IPC 通讯机制源码分析
- Android IPC 通讯机制源码分析
- Android IPC 通讯机制源码分析
- Android IPC 通讯机制源码分析 (一)
- Android IPC 通讯机制源码分析 (二)
- Android IPC 通讯机制源码分析
- Android IPC 通讯机制源码分析
- Android IPC 通讯机制源码分析
- Android IPC 通讯机制源码分析 一
- Android IPC 通讯机制源码分析 二
- Android IPC 通讯机制源码分析
- Android IPC进程间通讯机制
- 设置全屏以及绘画简单的图形
- [Drools]JAVA规则引擎 -- Drools
- web服务器之mongoose:工作模型
- 百度地图导航Android6.0初始化失败解决方法
- Android界面性能调优手册
- android通讯机制
- web服务器之mongoose:核心处理模块
- 清除浮动的方法
- 深度学习、自然语言处理和表征方法
- MooseFS分布式文件系统安装配置常见问题集
- listview加载性能优化及有多种listitem布局处理方式
- nodejs从零开始--菜鸟爬坑之旅(一)
- 字符串子序列穷举(Java语言,递归算法)
- 播放Assets下的指定音频时,变成播放所有音频了