Hi I am trying to get the message from mqtt broker as a toast, but I keep getting an error for the Toast (red underline in the code), could someone please let me know how to amend this?
here is the code
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
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.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;
public class MainActivity extends AppCompatActivity implements MqttCallback{
MqttClient client;
private String clientInfo = MqttClient.generateClientId();
//private final MqttMessage message = new MqttMessage();
public void findSpace(View view) {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//adapted from https://www.eclipse.org/paho/files/javadoc/org/eclipse/paho/client/mqttv3/persist/MemoryPersistence.html
try {
MemoryPersistence mp = new MemoryPersistence();
client = new MqttClient("tcp://10.150.37.228:1883", clientInfo, mp);
MqttConnectOptions mqttConnectOps = new MqttConnectOptions();
mqttConnectOps .setCleanSession(true);
client.connect(mqttConnectOps );
client.setCallback(this);
client.subscribe("test");
} catch (MqttException e) {
e.printStackTrace();
}
}
@Override
public void connectionLost(Throwable cause) {
}
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
System.out.println(message);
CharSequence cs = new String(message.getPayload());
Toast.makeText(getApplicationContext(), cs, Toast.LENGTH_SHORT).show();
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
}
}