Android基于MQTT协议利用ActiveMQ发送消息给Android端接收

最近公司做一个项目,尝试用ActiveMQ发送消息Android端接收,ActiveMQ端配置是后台一个大神配好了就扔给我了,当时也没有接触过这一方面,也从网上查询,看到这方面的文章也挺多的,但是感觉比较乱,所以自己做个总结,一方面后面用到直接你懂得...废话不多说,直接上Android端接收的代码,代码中大都有注释,就不在赘述.

  • 效果展示直接上图

  • 添加依赖 
repositories {
    maven {
        url "https://repo.eclipse.org/content/repositories/paho-releases/"
    }
}

dependencies {
   
    implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
    implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.0'

    //用来传递消息
    implementation 'org.greenrobot:eventbus:3.0.0'
}
  •  MQTTService类继承Service
public class MQTTService extends Service {



    //消息服务器的URL根据后台ActiveMQ的配置来设置
    public static final String BROKER_URL = "tcp://192.168.9.1:9403";
    //客户端ID,用来标识一个客户,可以根据不同的策略来生成
    public static final String clientId = "admin";
    //订阅的主题名
    public static final String TOPIC = "class_receiver";
    //mqtt客户端类
    private MqttClient mqttClient;
    //mqtt连接配置类
    private MqttConnectOptions options;

    private String userName = "admin";
    private String passWord = "admin";


  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
Android应用程序中使用MQTT协议可以实现与远程服务器进行实时通信。MQTT是一种轻量级的发布/订阅消息传输协议,适用于移动设备和物联网应用程序。 以下是使用MQTT协议的一般步骤: 1. 添加MQTT库:首先,您需要将MQTT库添加到您的Android项目中。常用的MQTT库包括Eclipse Paho和MQTT.fx等。 2. 连接到服务器:使用MQTT库提供的API,创建一个MQTT客户,并连接到远程MQTT服务器。您需要提供服务器的地址、口号和连接参数(如用户名、密码等)。 3. 订阅主题:通过订阅主题,您可以接收来自服务器的特定消息。主题可以是任意字符串,可以用于区分不同类型的消息。 4. 发布消息:使用MQTT客户发布消息到特定主题。您可以将数据发送到服务器,并通过订阅该主题的所有客户接收。 5. 处理接收到的消息:使用订阅回调函数处理从服务器接收到的消息。您可以在回调函数中解析和处理消息,并更新UI或执行其他操作。 以下是一个简单的示例,演示如何在Android应用程序中使用MQTT协议: 1. 添加依赖: 在您的项目的build.gradle文件中添加以下依赖: ```groovy implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5' ``` 2. 连接到服务器: ```java String serverUri = "tcp://mqtt.example.com:1883"; String clientId = "android-client"; MqttClient client = new MqttClient(serverUri, clientId); MqttConnectOptions options = new MqttConnectOptions(); options.setUserName("username"); options.setPassword("password".toCharArray()); client.connect(options); ``` 3. 订阅主题: ```java String topic = "mytopic"; client.subscribe(topic, new IMqttMessageListener() { @Override public void messageArrived(String topic, MqttMessage message) throws Exception { // 处理接收到的消息 String payload = new String(message.getPayload()); Log.d(TAG, "Received message: " + payload); } }); ``` 4. 发布消息: ```java String topic = "mytopic"; String payload = "Hello, MQTT!"; client.publish(topic, payload.getBytes(), 0, false); ``` 通过以上步骤,您可以在Android应用程序中使用MQTT协议进行实时通信。请注意,您需要根据实际情况配置和处理连接、订阅和发布操作,并确保在适当的时候释放和关闭MQTT客户连接

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值