5步让你的Android应用集成MQTT功能(MQTT V5版本)

5步让你的Android应用集成MQTT功能(MQTT V5版本)

这个文档是让你的Android Studio开发的APP快速的集成MQTT功能,既然是添加MQTT功能,假设你现有的APP代码能够正常的编译,我这里就以一个新的MQTT工程为例,如下是具体的操作

第1步-AndroidManifest.xml添加权限
    <!-- ************************MQTT连接必要权限************************-->
    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="android.permission.WAKE_LOCK" />

    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <!-- ************************MQTT连接必要权限************************-->

在这里插入图片描述

第2步-build.gradle添加MQTT依赖包
    /*************************MQTT依赖包*************************/
    implementation 'org.eclipse.paho:org.eclipse.paho.mqttv5.client:1.2.5'
    implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'
    /*************************MQTT依赖包*************************/

添加完成后点击Sync Now同步

在这里插入图片描述

第3步-添加MQTT Service代码

测试使用emqx的公共MQTT代理服务器,测试下面代码可以不用改,在实际的使用一定要换为自己的稳定的MQTT代理服务器

package com.nicecode.nicecode_mqtt;

import android.annotation.SuppressLint;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;

import org.eclipse.paho.mqttv5.client.IMqttToken;
import org.eclipse.paho.mqttv5.client.MqttActionListener;
import org.eclipse.paho.mqttv5.client.MqttAsyncClient;
import org.eclipse.paho.mqttv5.client.MqttCallback;
import org.eclipse.paho.mqttv5.client.MqttConnectionOptions;
import org.eclipse.paho.mqttv5.client.MqttDisconnectResponse;
import org.eclipse.paho.mqttv5.client.persist.MemoryPersistence;
import org.eclipse.paho.mqttv5.common.MqttException;
import org.eclipse.paho.mqttv5.common.MqttMessage;
import org.eclipse.paho.mqttv5.common.packet.MqttProperties;

public class MyMqttService extends Service {
   

    public static final   String      TAG              = "nice-code";
    public         String             HOST             = "tcp://broker.emqx.io:1883";//服务器地址(协议+地址+端口号)
    public         String             USERNAME         = "";//用户名
    public         String             PASSWORD         = "";//密码
    public static  String             PUBLISH_TOPIC    = "publish";//发布主题
    public static  Stri
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值