安卓使用mqtt

引入mqtt-client-0.4.1.jar包,然后写一个class(里面为mqtt的主要代码),如:

package com.example.htalka.service;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.MqttPersistenceException;
import org.eclipse.paho.client.mqttv3.MqttSecurityException;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
import org.eclipse.paho.client.mqttv3.persist.MqttDefaultFilePersistence;


import com.example.htalka.MainActivity;
import com.example.htalka.R;
import com.example.htalka.application.HTalkApplication;
import com.example.htalka.helper.Const;
import com.example.htalka.helper.PrefUtil;
import com.example.htalka.model.Chat;
import com.example.htalka.model.User;


import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
import android.util.Log;
import android.widget.RemoteViews;


public class MQTTService extends Service implements MqttCallback{

public static String MQTT_HOST = "192.168.13.118";
public static int MQTT_PORT = 1883;


private static final String TAG = "MQTTService";
private static MqttClient client = null;
private MqttConnectOptions options = null;



// MQTT Client 参数
private String host;
private int port;
private String username;
private String password;
private int keepAlive;
private Boolean cleanSession;
private String clientID;

public static String CLINET_ID = "client_id";
public static String USER_ID = "user_id";
public static String TO_USER_ID = "to_user_id";
public static String TO_USER_LIST = "to_user_list";

public MQTTClientCallback clientCallback;
private ArrayList<String> to_user_list;

public static HTalkApplication app;

/**
* 获取整个application

* @return
*/
public HTalkApplication getStuffApplication() {
return (HTalkApplication) this.getApplicationContext();
}

/**
* 初始化application
*/
public void initStuffApplication() {
app = getStuffApplication();
}

public void setMQTTClientCallback(MQTTClientCallback l) {
clientCallback = l;
}

/**
* MQTTClient回调

* @author Thierry
*/
public interface MQTTClientCallback {

public void connectLostCallBack();

public void msgArrivedCallBack(String topic, String string);

public void deliveryCompleteCallBack(IMqttDeliveryToken token);

}


/**
* Class for clients to access. Because we know this service always runs in
* the same process as its clients, we don't need to deal with IPC.
*/
public class LocalBinder extends Binder {
public MQTTService getService() {

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值