android端实现mqtt消息接收

最近需要做一个Android端来接收mqtt的消息,下面给出自己写的一个小demo,留着以后方便查看。

在Android端的libs文件夹下,添加jar包:

mqtt-client-0.4.0.jar
在Android项目app目录下的build.grdle中添加引用:

compile files('libs/mqtt-client-0.4.0.jar')
然后点击同步,自动导入相关的文件即可。

然后我的Androiddemo的文件为:

import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.TextView;
import android.widget.Toast;
import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

public class MainActivity extends AppCompatActivity {

    private String host = "tcp://192.168.1.136:8000";
    private String userName = "admin";
    private String passWord = "password";

    private Handler handler;
    private MqttClient client;
    private String myTopic = "test";
    private MqttConnectOptions options;
    private ScheduledExecutorService scheduler;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        handler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                if(msg.what == 1) {
                    Toast.makeText(MainActivity.this, (Strin
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio可以通过添加MQTT库来实现MQTT服务。有很多MQTT库可供选择,如 Eclipse Paho,MQTT-AndroidMQTT-Client等。这些库提供了MQTT协议的API和方法,以实现设备之间的通信。以下是一些关键步骤: 1. 首先,导入所选的MQTT库。可以从以下任意一种方式实现: - 通过Gradle依赖添加库: implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.2' - 手动下载库并将其添加到项目中。在Android Studio中,右键单击项目,选择New->Module。选择Import .JAR/.AAR Package并选择下载的MQTT库。 2. 创建MQTTClient实例。可以使用以下代码示例创建MQTTClient实例: String broker = "tcp://192.168.0.1:1883"; String clientId = "android-client-id"; MemoryPersistence persistence = new MemoryPersistence(); MqttClient mqttClient = new MqttClient(broker,clientId,persistence); // 指定回调处理程序 mqttClient.setCallback(new MqttCallback() { @Override public void connectionLost(Throwable throwable) { // 连接丢失 } @Override public void messageArrived(String s, MqttMessage mqttMessage) throws Exception { // 消息到达 } @Override public void deliveryComplete(IMqttDeliveryToken iMqttDeliveryToken) { // 发送完成 } }); 3. 连接到MQTT代理。连接到MQTT代理时需要使用以下代码: MqttConnectOptions options = new MqttConnectOptions(); options.setUserName("username"); options.setPassword("password".toCharArray()); options.setCleanSession(true); mqttClient.connect(options); 4. 发布消息。向MQTTBroker发布消息需要指定主题和消息体。示例如下: String topic = "test/topic"; String payload = "hello, world!"; MqttMessage message = new MqttMessage(payload.getBytes()); message.setQos(0); message.setRetained(true); mqttClient.publish(topic, message); 5. 订阅主题。为了接收来自其他设备的MQTT消息,需要订阅一个或多个主题。示例如下: String topic = "test/topic"; int qos = 0; mqttClient.subscribe(topic, qos); 通过这些步骤,您可以在Android Studio中实现MQTT服务和设备之间的通信。注意,在连接和发布/订阅消息时,必须考虑网络延迟和错误处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值