package com.example.paho_1; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.TextView; import android.widget.Toast; 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.persist.MemoryPersistence; import java.nio.charset.StandardCharsets; import java.util.Random; public class MainActivity extends AppCompatActivity { private MqttClient sampleClient; private String broker = "tcp://lukan.sytes.net:1883"; private String clientId = "titi"; private String topicSub = "/paho"; private MqttConnectOptions connOpts; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Random random = new Random(); clientId += random.nextInt(); textView = findViewById(R.id.textView2); MemoryPersistence persistence = new MemoryPersistence(); try { sampleClient = new MqttClient(broker, clientId, persistence); } catch (MqttException e) { e.printStackTrace(); } connOpts = new MqttConnectOptions(); connOpts.setCleanSession(true); connOpts.setAutomaticReconnect(true); sampleClient.setCallback(new MqttCallback() { @Override public void connectionLost(Throwable cause) { try { sampleClient.connect(connOpts); } catch (MqttException e) { e.printStackTrace(); } try { sampleClient.subscribe(topicSub); Toast.makeText(getApplicationContext(), "Subskrybcja", Toast.LENGTH_LONG).show(); } catch (MqttException e) { e.printStackTrace(); } } @Override public void messageArrived(String topic, MqttMessage message) throws Exception { //Log.v("paho13",message.toString()); textView.setText(message.getId() +" " + topic + ": " + message.toString() + "\n" + textView.getText()); } @Override public void deliveryComplete(IMqttDeliveryToken token) { } }); try { sampleClient.connect(connOpts); } catch (MqttException e) { e.printStackTrace(); } try { sampleClient.subscribe(topicSub); Toast.makeText(this, "Subskrybcja", Toast.LENGTH_LONG).show(); } catch (MqttException e) { e.printStackTrace(); } } public void onClickButton2(View view){ MqttMessage message; message = new MqttMessage(((TextView)findViewById(R.id.editTextTextPersonName)). getText().toString().getBytes(StandardCharsets.UTF_8)); try { sampleClient.publish("/paho", message); } catch (MqttException e) { e.printStackTrace(); } } }