实现稳定可靠的消息通信:Paho MQTT Android

实现稳定可靠的消息通信:Paho MQTT Android

该项目基于java版本paho mqtt android实现,使用kotlin语言重新实现,它是一个用Kotlin编写的MQTT客户端库,旨在提供可靠的开源实现,适用于面向物联网(IoT)和机器对机器(M2M)应用的开放和标准消息传递协议。MQTT反映了设备连接的物理和成本约束,旨在在设备和应用程序之间实现高度解耦,以保持市场开放,促进可扩展的Web和企业中间件以及应用程序的快速增长。
截至本文发布时间,最新版本为4.1

项目地址为

https://github.com/hannesa2/paho.mqtt.android

旧版本paho.mqtt.android项目地址如下:

https://github.com/eclipse/paho.mqtt.android

支持特性

支持mqtt版本到3.1.1,支持tls安全传输,支持标准tcp,支持自动重连等,具体特性参考下面表格

项目引入

在项目根目录下的build.gradle中加入项目仓库地址

allprojects {
    repositories {
      ...
      maven { url 'https://jitpack.io' }
    }
  }

app模块目录下的build.gradle中引入项目

dependencies {
  implementation 'androidx.legacy:legacy-support-v4:1.0.0'
  implementation 'com.github.hannesa2:paho.mqtt.android:$latestVersion'
}

Android O 前台服务

Android >= O时,你应该将其设置为前台服务

val client = MqttAndroidClient(context, uri, clientId).apply {
    setForegroundService(foregroundNotification, 3)
}

sample项目简介

basicSample目录是基本mqtt连接使用示例,包括基本的连接、发布、订阅等

extendedSample提供mqtt高级使用示例,在basic示例功能基础上增加了TLS、多连接及多会话管理