[英]MQTT Unresolved Reference Android Studio
我有一些代碼是我從網站上派生的,但是我不知道如何解決此錯誤:“未解決的參考:setCallback”
下面是我的代碼:
fun MqttHelper(context: Context) {
mqttAndroidClient = MqttAndroidClient(context, serverUri, clientId)
mqttAndroidClient?.setCallback(object : MqttCallbackExtended {
override fun connectComplete(b: Boolean, s: String) {
Log.w("mqtt", s)
}
override fun connectionLost(throwable: Throwable) {
}
@Throws(Exception::class)
override fun messageArrived(topic: String, mqttMessage: MqttMessage) {
Log.w("Mqtt", mqttMessage.toString())
}
override fun deliveryComplete(iMqttDeliveryToken: IMqttDeliveryToken) {
}
})
connect()
}
fun setCallback(callback: MqttCallbackExtended) {
mqttAndroidClient.setCallback(callback)
}
//in onCreate()
//This one has the error
mqttHelper.setCallback(object : MqttCallbackExtended {
override fun connectComplete(b: Boolean, s: String) {
}
override fun connectionLost(throwable: Throwable) {
}
@Throws(Exception::class)
override fun messageArrived(topic: String, mqttMessage: MqttMessage) {
Log.w("Debug", mqttMessage.toString())
dataReceived.setText(mqttMessage.toString())
}
override fun deliveryComplete(iMqttDeliveryToken: IMqttDeliveryToken) {
}
})
如果有人知道如何解決這個問題,那就太好了,謝謝。
您必須創建一個類,例如MqttHelper.kt
,如下所示:
class MqttHelper(context: Context) {
var mqttAndroidClient: MqttAndroidClient
init {
val serverUri = "serverUri"
val clientId = "client-id"
mqttAndroidClient = MqttAndroidClient(context, serverUri, clientId)
mqttAndroidClient.setCallback(object : MqttCallbackExtended {
override fun connectComplete(b: Boolean, s: String) {
Log.w("mqtt", s)
}
override fun connectionLost(throwable: Throwable) {
}
@Throws(Exception::class)
override fun messageArrived(topic: String, mqttMessage: MqttMessage) {
Log.w("Mqtt", mqttMessage.toString())
}
override fun deliveryComplete(iMqttDeliveryToken: IMqttDeliveryToken) {
}
})
mqttAndroidClient.connect()
}
fun setCallback(callback: MqttCallbackExtended) {
mqttAndroidClient.setCallback(callback)
}
}
並在您的活動中使用
var mqttHelper = MqttHelper(this)
mqttHelper.setCallback(...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.