Daten senden mit JSON

  • Antworten:7
Markus
  • Forum-Beiträge: 20

10.12.2012, 12:30:11 via Website

Hallo zusammen,

ich möchte von meinem Android Handy Daten per JSON an einen Server schicken.
Da meine PHP Künste weit aus besser sind als die Android habe ich den PHP Teil bereits geschrieben.
Mein Problem liegt jetzt darin das ich keine Ahnung hab wie ich das alles in Android aufbauen muss und ich finde auch kein geeignetes Tutorial dazu.
Das lesen von JSON habe ichmithilfe von einem Tutorial hinbekommen aber zum schreiben finde ich nichts -.-
Hat einer von euch evtl ein Tutorial dazu oder kann mir sagen wo ich ein funktionierendes finde???
Danke schon mal im Vorraus

Antworten
Markus
  • Forum-Beiträge: 20

14.12.2012, 09:26:17 via Website

Wenn ich das ganze richtig verstanden habe muss ich in der Zeile "params.setParameter(objectName, data.toString());" Ja meine Werte mitgeben die ich an den Server schicken will oder? in meinem Fall wäre es insgesammt 6 Werte.
Wie muss ich die dort einbinden??

1public void postJSONObject(String url, JSONObject data, String objectName)
2 {
3 HttpPost postMethod = new HttpPost("url");
4
5 try {
6
7 HttpParams params = new BasicHttpParams();
8
9 params.setParameter(objectName, data.toString());
10 params.setParameter(objectName, data.toString());
11 params.setParameter(objectName, data.toString());
12 params.setParameter(objectName, data.toString());
13 params.setParameter(objectName, data.toString());
14 params.setParameter(objectName, data.toString());
15
16
17 postMethod.setParams(params);
18
19 httpClient.execute(postMethod);
20
21 Log.i(TAG, "Post request, data: " + params.toString());
22
23
24
25 } catch (ClientProtocolException e) {
26
27 // TODO Auto-generated catch block
28
29 e.printStackTrace();
30
31 } catch (IOException e) {
32
33 // TODO Auto-generated catch block
34
35 e.printStackTrace();
36
37 } catch (Exception e) {
38
39 // TODO Auto-generated catch block
40
41 e.printStackTrace();
42
43
44
45 } finally {
46
47 postMethod.abort();
48
49 }
50
51 }

Antworten
Stefan S.
  • Forum-Beiträge: 560

14.12.2012, 16:14:21 via Website

Du machst ein JSONObject und setzt die Werte rein

1json = new JSONObject();
2json.put("Wert1","Mein Wert 1");
3json.put("Wert2", "Mein Wert 2");

und dann übergeben
1HttpParams params = new BasicHttpParams();
2params.setParameter("myobject", json.toString());

Antworten
Markus
  • Forum-Beiträge: 20

19.12.2012, 12:00:49 via Website

Kurze frage du schreibst hier my Object wo hast du das deklariert??
1HttpParams params = new BasicHttpParams();
22params.setParameter("myobject", json.toString());

Ich habe jetzt mal die sachen dort eingetragen. Ist das so richtig??

1public void postJSONObject(String url, JSONObject data, String objectName)
2 {
3 json = new JSONObject();
4 //json.put("name auf dem Server wo er es speichern soll", "Textfeld in meiner App") Ist das so richtig???
5 json.put("name", "txt_name");
6 json.put("vname", "txt_vname");
7 json.put("tel", "txt_tel");
8 json.put("mail", "txt_mail");
9 json.put("age", "txt_age");
10 json.put("username", "txt_username");
11
12 HttpPost postMethod = new HttpPost("Meine Server URL");
13
14 try {
15
16 HttpParams params = new BasicHttpParams();
17 params.setParameter(objectName, data.toString());
18
19 postMethod.setParams(params);
20
21 httpClient.execute(postMethod);
22
23 Log.i(TAG, "Post request, data: " + params.toString());
24
25
26
27 } catch (ClientProtocolException e) {
28
29 // TODO Auto-generated catch block
30
31 e.printStackTrace();
32
33 } catch (IOException e) {
34
35 // TODO Auto-generated catch block
36
37 e.printStackTrace();
38
39 } catch (Exception e) {
40
41 // TODO Auto-generated catch block
42
43 e.printStackTrace();
44
45
46
47 } finally {
48
49 postMethod.abort();
50
51 }
52
53 }

Und da hätte ich noch eine Frage Eclipse streicht mir in diesem bereich
1httpClient.execute(postMethod);
2
3 Log.i(TAG, "Post request, data: " + params.toString());
Streicht mir Eclipse das "httpClient" und das Wort "TAG" an aber ich versteh nicht warum
Soryy schon mal für die dummen Fragen

— geändert am 19.12.2012, 12:02:58

Antworten
Markus
  • Forum-Beiträge: 20

20.12.2012, 15:20:47 via Website

Kann mir denn keiner helfen es ist wirklich dringend

Antworten
Rafael K.
  • Forum-Beiträge: 2.359

20.12.2012, 15:30:12 via Website

Das große Problem ist, dass Deinen Fragen nach zu urteilen erst die Grundlagen sowohl zu Java, als auch zu HTTP-Kommunikation aufgebaut werden müssten. Sonst läuft es darauf hinaus, dass wir Deine App programmieren :)

Die Leute hier helfen Dir sicherlich lieber, wenn eine gewisse Basis vorhanden ist.

Antworten
Stefan S.
  • Forum-Beiträge: 560

20.12.2012, 16:54:24 via Website

Markus
Kurze frage du schreibst hier my Object wo hast du das deklariert??
1HttpParams params = new BasicHttpParams();
22params.setParameter("myobject", json.toString());

try {

HttpParams params = new BasicHttpParams();
params.setParameter(objectName, data.toString());


objectName = ein String welcher das Object beschreibt. Dieser Name musst du dann auf dem Server auslesen, damit du dein JSON-Objekt zurück erhälst.
z.B. setParamter("MeineFelder", json.toString();
und im Http dann sowas wie
JSON = httprequest("MeineFelder")

Antworten