最近需要做一个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