2017-05-23 20 views
-3

Kann mir jemand dabei helfen. Ich möchte Daten von Editiertext an eine andere Aktivität in der JSONMessage senden. Ich möchte in meiner zweiten Aktivität an das IDDevice senden.So analysieren Sie Daten von einer Aktivität zu einer anderen

Hier ist mein Code

Es

meine firstActivity ist
et = (EditText) findViewById(R.id.editText1); 
    bt = (Button) findViewById(R.id.bAdd); 
    lv = (ListView) findViewById(R.id.listView); 
    arrayList = new ArrayList<String>(); 
    adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, arrayList); 

    lv.setAdapter(adapter); 
    onButtonClick(); 


    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      String inputID = et.getText().toString(); 
      Intent IDdevice = new Intent(MainActivity.this, ControlLed.class); 
      IDdevice.putExtra("ID", inputID); 
      startActivity(IDdevice); 
     } 
    }); 
} 

Und zweitens Aktivität

public void device1on(){ 
    String topic = "server/esp001"; 
    MqttMessage message = new MqttMessage(); 
    message.setPayload("{\"idDevice\":\"esp001\",\"status\":\"0\",\"data\":\"100\",\"address\":\"1\",\"function\":\"1\",\"user\":\"admin\"}".getBytes());// I want to send data from first activity to the idDevice 
    try { 
     client.publish(topic, message); 
    } catch (MqttException e) { 
     e.printStackTrace(); 
    } 
} 

Antwort

2

In zweite Aktivität, id von Intent unten erwähnt mit getStringExtra Methode erhalten wie:

String id = getIntent().getStringExtra("ID"); 

und legen Sie es dann auf Nachrichtenobjekt

JSONObject json = new JSONObject(); 
try { 
    json.put("idDevice", id); 
    json.put("status", "0"); 
    json.put("data", "100"); 
    json.put("address", "1"); 
    json.put("function", "1"); 
    json.put("user", "admin"); 
} catch (JSONException e) { 

} 
String payload = json.toString(); //"{\"idDevice\":\"value of id\",\"status\":\"0\",‌​\"data\":\"100\",\"a‌​ddress\":\"1\",\"fun‌​ction\":\"1\",\"user‌​\":\"admin\"}" 
message.setPayload(payload.getBytes()); 
+0

Danke für die Antwort, aber es ist nicht, dass ich will. Ich möchte es in die jsonMessage schreiben. – TLDima

+0

Ich meine, ich möchte Text in das IDDevice message.setPayload ("{\" idDevice \ ": \" Here \ "," status ": \" 0 \ ", \" data \ ": \" 100 \ "," Adresse ":" 1 "," Funktion ":" 1 "," Benutzer ": \" Admin \ "}". GetBytes()); // I will Daten von der ersten Aktivität an die IDDevice senden – TLDima

+0

Ich habe JSON-Objekt dynamisch erstellt – Pehlaj

0
String getvallue;  
Intent i=i.getIntent();   
getVallue=i.getStringExtra("name"); 
Textview txt=(Textview)findviewbyid(R.id.txt); 
txt.setText(getVallue); 
+0

** Von Review Queue **: Darf ich Sie bitten, bitte einige hinzuzufügen Kontext um Ihren Quellcode. Nur-Code-Antworten sind schwer zu verstehen. Es wird sowohl dem Fragesteller als auch zukünftigen Lesern helfen, wenn Sie in Ihrem Beitrag weitere Informationen hinzufügen können. – RBT

Verwandte Themen