MQTT在Android上的二次封装

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.github.PingerOne:MqttAndroid:1.0.1'
    }
    

使用流程

  • 初始化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()
    

相关学习资料

猜你喜欢

转载自blog.csdn.net/weixin_34327761/article/details/87289974