文档章节

intrepidkarthi / RabbitMQ-Android-Chat 代码分析

bytebear
 bytebear
发布于 2014/03/20 13:59
字数 185
阅读 67
收藏 0
mConsumer.setOnReceiveMessageHandler(new OnReceiveMessageHandler() {

			public void onReceiveMessage(byte[] message) {
				String text = "";
				try {
					text = new String(message, "UTF8");
				} catch (UnsupportedEncodingException e) {
					e.printStackTrace();
				}

				mOutput.append("\n" + text);
			}
		});

 1.消费者从 interface OnReceiveMessageHandler接口重载新方法OnReceiveMessage



 final Runnable mReturnMessage = new Runnable() {   
    public void run() {          mOnReceiveMessageHandler.onReceiveMessage(mLastMessage);      }
      };


 final Runnable mConsumeRunner = new Runnable() {      public void run() {          Consume();      }  };

   重载的方法接受收到的消息,更新界面 


2.

Handler

  Handler,它直接继承自Object,一个Handler允许发送和处理Message或者Runnable对象,并且会关联到主线程的MessageQueue中

创建了两个hanlder,运用到消息更新上,mMessageHandler是传递显示UI消息的Runnable对象,mConsumeHanderl是传递接听消息的循环Runnable对象

 private Handler mMessageHandler = new Handler(); 
  private Handler mConsumeHandler = new Handler();


3

在mConsumerRunable中的Consume函数调用了mReturnMesasge Runnable更新界面




© 著作权归作者所有

bytebear
粉丝 5
博文 256
码字总数 18259
作品 0
拉萨
程序员
私信 提问
RabbitMQ 3.7.9 发布,Erlang 的 AMQP 开源实现

RabbitMQ 3.7.9 已发布,这是一个维护版本,主要聚焦于修复 bug 和可用性改进。 兼容性说明 此版本与早期的 3.7.x 没有已知的不兼容性。 升级至 Erlang 21.0 升级该版本会同时将 Erlang 更新...

淡漠悠然
2018/11/16
975
1
OSChina 技术周刊第二十三期 —— 每周技术精粹

每周技术抢先看,总有你想要的! 移动开发 【软件】Android 调试工具 Stetho 前端开发 【翻译】25 个超棒的 HTML5 & JavaScript 游戏引擎开发库 【翻译】什么时候 AngularJS 会超越 jQuery 【...

OSC编辑部
2015/03/02
0
0
OSChina 技术周刊第23期 —— .NET Core 开源更新报告

每周技术抢先看,总有你想要的! 移动开发 【软件】Android 调试工具 Stetho 前端开发 【翻译】25 个超棒的 HTML5 & JavaScript 游戏引擎开发库 【翻译】什么时候 AngularJS 会超越 jQuery 【...

OSC编辑部
2015/03/02
3.7K
5
RabbitMQ 3.5.5 RC2 发布,AMQP 消息服务器

RabbitMQ 3.5.5 RC2 发布,此版本是 RabbitMQ 3.5.5 的第二个候选版,相比 RC1 只有一些代码清理,详情请看 3.5.5 RC1 release notes。 服务器 增强 清理 代码(rabbitmq/rabbitmq-server#301...

oschina
2015/09/12
979
2
openstack 最简单的 RabbitMQ 监控方法

先来看张图: 这是 Nova 的架构图,我们可以看到有两个组件处于架构的中心位置:数据库和Queue。数据库保存状态信息,而几乎所有的 nova-* 服务都直接依赖于 Queue 实现服务之间的通信和调用...

zhongbeida_xue
2018/05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【JAVA基础☞内部存储和GC】Java方法区和永久代

Java方法区和永久代 这里只讨论HotSpot虚拟机,这也是目前使用的最多的JVM。Sun JDK7 HotSpot虚拟机的内存模型如下图所示: 1、什么是方法区 在Java虚拟机中,方法区是可供各线程共享的运行时...

卯金刀GG
11分钟前
1
0
Spring Boot Actuator

编者注 由于开发一个对性能要求很强的后台应用,突然发现部署到aliyun发生问题,而普通笔记本没有任何问题,则需要持续一段时间的监控定位函数执行时间,分析过程,并添加健康检查的可视化内...

抢小孩糖吃
12分钟前
1
0
Zabbix监控ActiveMQ

当我们在线上使用了ActiveMQ 后,我们需要对一些参数进行监控,比如 消息是否有阻塞,哪个消息队列阻塞了,总的消息数是多少等等。下面我们就通过 Zabbix 结合 Python 脚本来实现对 ActiveMQ...

SEOwhywhy
24分钟前
2
0
非webpack require.js + vue + vueRouter + iView 实现按需加载

适合一个人开发的时候,在整个php框架下,又想单页,又可以直接后端assign变量穿透到模板。又不想写接口搞前后分离脚手架一大堆npm 包, 在php模板下 引入require.js <!DOCTYPE html><html...

一箭落旄头
39分钟前
7
0
新特性解读 | MySQL 8.0 窗口函数详解

原创作者: 杨涛涛 背景 一直以来,MySQL 只有针对聚合函数的汇总类功能,比如MAX, AVG 等,没有从 SQL 层针对聚合类每组展开处理的功能。不过 MySQL 开放了 UDF 接口,可以用 C 来自己写UDF...

爱可生
45分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部