作者:vijay | 来源:互联网 | 2023-06-18 12:52
MQTT在物联网上的运用十分的广泛,目前移动端的消息推送服务,数据直连服务等都是基于MQTT消息协议进行。阅读了很多MQTT的相关资料,项目中也使用了一段时间,发现MQTT表现得非
MQTT在物联网上的运用十分的广泛,目前移动端的消息推送服务,数据直连服务等都是基于MQTT消息协议进行。
阅读了很多MQTT的相关资料,项目中也使用了一段时间,发现MQTT表现得非常稳定。所以这里安利一波。
项目地址
添加依赖
在project的build.gradle文件中添加maven仓库
repositories {
maven {
url "https://repo.eclipse.org/content/repositories/paho-snapshots/"
}
}
在app的build.gradle文件中添加依赖
dependencies {
implementation 'com.pingerx:android-mqtt:1.0.2'
}
使用流程
初始化MQTT
MqttManager.getInstance().init(context)
连接MQTT服务端
MqttManager.getInstance().connect {
onConnectSuccess {
showTips("服务器连接成功")
}
onConnectFailed {
showTips("服务器连接失败:${it?.message}")
}
}
订阅一个话题
MqttManager.getInstance().subscribe(subscriptionTopic) {
onSubscriberSuccess {
showTips("订阅成功")
}
onSubscriberFailed {
showTips("订阅失败:${it?.message}")
}
onDeliveryComplete {
showTips("消息推送完毕:$it")
}
onConnectionLost {
showTips("连接已断开")
}
}
推送一条消息
MqttManager.getInstance().publishMessage(publishTopic, "Hello Mqtt...")
主动断开连接
MqttManager.getInstance().disconnect()
关闭MQTT客户端(一般app退出时调用)
MqttManager.getInstance().close()
相关学习资料
- 官方Android项目地址
- 什么是MQTT
- 一文读懂MQTT协议
- MQTT比TCP协议好在哪儿?
- MQTT搭建推送服务