HTTP POST Beispiel bitte....

  • Antworten:2
Alexander R.
  • Forum-Beiträge: 1.148

04.12.2010, 13:46:55 via Website

Hallo,

ich möchte von meiner Android-Application in eine MySQL-Datenbank schreiben...
Der PHP-Code dazu sieht folgendermassen aus:

1<?php
2mysql_connect("localhost","datenbankname","passwort");
3mysql_select_db("datenbank");
4
5$q=mysql_query("INSERT INTO test(title, message)
6 VALUES('".$_REQUEST['titel']."', '".$_REQUEST['nachricht']."')");
7
8while($e=mysql_fetch_assoc($q))
9 $output[]=$e;
10
11print(json_encode($output));
12
13mysql_close();
14?>

Ich habe in der App 2 EditText Felder, beim klick auf den Button "Speichern" ausgelesen werden.
Nun ist meine Frage wie ich das an das PHP-Script übergeben kann...
Leider habe ich bisher nicht mit Http-post gearbeitet.
Hoffe jemand hat ein Beispiel für mich.

Android Code:
1package de.Test;
2
3import android.os.Bundle;
4import android.view.View;
5import android.widget.Button;
6import android.widget.EditText;
7import android.widget.Toast;
8
9public class Test extends Activity {
10 /** Called when the activity is first created. */
11 public void onCreate(Bundle savedInstanceState) {
12 super.onCreate(savedInstanceState);
13 setContentView(R.layout.main);
14
15 Button save = (Button) findViewById(R.id.save);
16
17 save.setOnClickListener(new View.OnClickListener() {
18 public void onClick(View v) {
19 final EditText title = (EditText) findViewById(R.id.title);
20 final String titel = title.getText().toString();
21
22 final EditText message = (EditText) findViewById(R.id.message);
23 final String nachricht = message.getText().toString();
24
25 Toast.makeText(getApplicationContext(),
26 titel + " und " + nachricht, Toast.LENGTH_LONG).show();
27 }
28 });
29 }
30}

— geändert am 04.12.2010, 13:47:05

Gruß Alexander

Antworten
Tim Meißner
  • Forum-Beiträge: 238

04.12.2010, 17:28:06 via Website

1List<NameValuePair> postValues = new ArrayList<NameValuePair>(2);
2postValues.add(new BasicNameValuePair("",""));
3
4HttpClient client = new DefaultHttpClient();
5 HttpPost request = new HttpPost(url);
6
7request.setEntity(new UrlEncodedFormEntity(postValues));
8 HttpResponse response = client.execute(request);

— geändert am 04.12.2010, 17:28:38

Antworten
Alexander R.
  • Forum-Beiträge: 1.148

04.12.2010, 17:37:45 via Website

Danke Tim,

also wenn ich das jetzt nicht ganz falsch verstanden habe lautet es für den obigen PHP-Code:

1public void onClick(View v) {
2 final EditText title = (EditText) findViewById(R.id.title);
3 final String titel = title.getText().toString();
4
5 final EditText message = (EditText) findViewById(R.id.message);
6 final String nachricht = message.getText().toString();
7
8 Toast.makeText(getApplicationContext(),
9 titel + " und " + nachricht, Toast.LENGTH_LONG).show();
10
11 List<NameValuePair> postValues = new ArrayList<NameValuePair>(2);
12 postValues.add(new BasicNameValuePair(titel,titel));
13 postValues.add(new BasicNameValuePair(nachricht,nachricht));
14
15 HttpClient client = new DefaultHttpClient();
16 HttpPost request = new HttpPost("urlzuphp");
17
18 try {
19 request.setEntity(new UrlEncodedFormEntity(postValues));
20 } catch (UnsupportedEncodingException e) {
21 // TODO Auto-generated catch block
22 e.printStackTrace();
23 }
24 try {
25 HttpResponse response = client.execute(request);
26 } catch (ClientProtocolException e) {
27 // TODO Auto-generated catch block
28 e.printStackTrace();
29 } catch (IOException e) {
30 // TODO Auto-generated catch block
31 e.printStackTrace();
32 }
33 }

— geändert am 04.12.2010, 17:39:23

Gruß Alexander

Antworten