android MQTT的使用及demo

本文介绍了如何在Android中使用MQTT进行实时通信。首先讲解了MQTT协议的基本概念,如topic和qos,然后详细阐述了如何在Apache Apollo服务器上部署MQTT,并提供了下载和启动步骤。接着,文章展示了Android客户端的配置,包括添加依赖、设置权限和服务注册。客户端代码实现部分,强调了连接参数、不同环境下的host设置、clientId的唯一性和topic的一致性。通过MQTTService和MainActivity的代码示例,展示了发布和接收消息的流程。
摘要由CSDN通过智能技术生成

概述:

Message Queuing Telemetry Transport,意为消息队列遥测传输,是IBM开发的一个即时通讯协议。.
功能是共用一个服务器,所有客户端只要订阅了同一个topic,只要其中一个publish,则其他所有订阅了的客户端都能收到推送的消息

demo下载地址:

https://download.csdn.net/download/u010672559/10549277

==============
1.服务器部署
http://activemq.apache.org/apollo/download.html 下载版本地址介绍
http://mirrors.tuna.tsinghua.edu.cn/apache/activemq/activemq-apollo/1.7.1/apache-apollo-1.7.1-windows-distro.zip具体下载地址
1.1下载后安装
1.2cmd命令行进入安装目录bin目录下(例:E:>cd E:\MQTT\apache-apollo-1.7.1\bin)。
1.3输入apollo create XXX(xxx为创建的服务器实例名称,例:apollo create mybroker),之后会在bin目录下创建名称为XXX的文件夹。XXX文件夹下etc\apollo.xml文件下是配置服务器信息的文件。etc\users.properties文件包含连接MQTT服务器时用到的用户名和密码,默认为admin=password,即账号为admin,密码为password,可自行更改。
1.4进入XXX/bin目录,输入apollo-broker.cmd run开启服务器,看到如下界面代表搭建完成,注意运行apollo-broker.cmd run是在自己create的mybroker下执行

2.客户端实现
基本概念:
topic:中文意思是“话题”。在MQTT中订阅了(subscribe)同一话题(topic)的客户端会同时收到消息推送。直接实现了“群聊”功能。
clientId:客户身份唯一标识。
qos:服务质量。
retained:要保留最后的断开连接信息。
MqttAndroidClient#subscribe():订阅某个话题。
MqttAndroidClient#publish(): 向某个话题发送消息,之后服务器会推送给所有订阅了此话题的客户。
userName:连接到MQTT服务器的用户名。
passWord :连接到MQTT服务器的密码。
2.1工程配置
2.1.1project下的build.gradle下面加
repositories {
    ...
    maven {
        url "https://repo.eclipse.org/content/repositories/paho-releases/"
    }
}
2.1.2module下的build.gradle下面加,eventbus非配置必须,实际是用户后面通信用
implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
implementation 'org.greenrobot:eventbus:3.0.0'
2.1.3清单添加权限及注册service
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<!-- Mqtt Service org.eclipse.paho.android.service.MqttService为依赖自带的,MQTTService为自己新建的->
<service android:name="org.eclipse.paho.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值