android - Paho MQTT-service für die Veröffentlichung

Ich bin neu auf Android und Dienstleistungen. Mein Ziel ist es, in der Lage sein, Abos und stellen Publikationen zum Thema strings. Das Thema Saiten und die client-ID, set-up-nach der Analyse-input-text-Felder. Ich bin mit dem Paho MQTT service (heruntergeladen die Quelle und baute die JAR).

Folgende Ursachen für eine Null-Zeiger-Ausnahme auf c.publish(). Die logcat zeigt die Ausnahme bei der IMqttDeliveryToken publish(String topic, MqttMessage message, Object userContext, IMqttActionListener callback) Methode in MqttAndroidClient wo eine Lieferung token genommen wird.

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Set locale;
        l = getResources().getConfiguration().locale;
    }

    @Override
    protected void onResume() {
        super.onResume();
        addButtonListener();        
    }

    private void addButtonListener() {
        Button submitButton = (Button) findViewById(R.id.buttonSubmit);

        submitButton.setOnClickListener(new OnClickListener() {
//...
//validation code for fields in layout
//...
//Finally, this.

                    MemoryPersistence mPer = new MemoryPersistence();
                    String clientId = UUID.randomUUID().toString();
                    String brokerUrl = "tcp://m2m.eclipse.org:1883";
                    MqttAndroidClient c = new MqttAndroidClient(getApplicationContext(), brokerUrl, clientId, mPer);
                    try {
                        c.connect(); 
                        String topic = "transfers/topic";
                        String msg = "topic payload"
                        MqttMessage m = new MqttMessage();
                        m.setPayload(msg.getBytes());
                        m.setQos(2);
                        m.setRetained(false);
                        c.publish(topic, m); 
                    } catch (MqttException e) {
                        Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
                    }

Können Sie mir bitte sagen, wie der Dienst zu verwenden, zu veröffentlichen und abonnieren ? Ich habe Blättern Sie durch die Beispiel-Projektes (von der Paho Android). Der LWT und zu veröffentlichen, scheint zusammengeführt werden, wie das layout für LWT (activity_publish.xml) scheint zu sein, verwendet für die Veröffentlichung als gut.

InformationsquelleAutor cogitoergosum | 2014-07-16

Schreibe einen Kommentar