Gelöschter Account
- Forum-Beiträge: 21
13.01.2011, 15:10:48 via Website
13.01.2011 15:10:48 via Website
Hallo,
ich versuche zur Zeit einen HTTP Post vom Emulator zum Entwicklungsrechner auszuführen und dabei Parameter zu übergeben. Da es mit meinem Projekt nicht klappen will, habe ich einfach mal ein neues Testprojekt kreiert indem ich nur das HTTP Posten testen will.
Im groben und ganzen sende ich lediglich 2 Variablen an eine PHP Datei die sich auf meinem Entwicklungsrechner befindet und welche mir anschließend auf dem Emulator angezeigt werden soll. Mit Hilfe von WebView erscheint auf dem Emulator jedoch nur stets die Meldung "Klappt nicht", welche erscheinen soll wenn eine POST Variable nicht gesetzt ist.
Danke im Vorraus!
anbei mein Quellcode:
Manifest:
Die Java Klasse:
und letzten Endes die PHP auf dem Server:
Danke schonmal im Vorraus!
ich versuche zur Zeit einen HTTP Post vom Emulator zum Entwicklungsrechner auszuführen und dabei Parameter zu übergeben. Da es mit meinem Projekt nicht klappen will, habe ich einfach mal ein neues Testprojekt kreiert indem ich nur das HTTP Posten testen will.
Im groben und ganzen sende ich lediglich 2 Variablen an eine PHP Datei die sich auf meinem Entwicklungsrechner befindet und welche mir anschließend auf dem Emulator angezeigt werden soll. Mit Hilfe von WebView erscheint auf dem Emulator jedoch nur stets die Meldung "Klappt nicht", welche erscheinen soll wenn eine POST Variable nicht gesetzt ist.
Danke im Vorraus!
anbei mein Quellcode:
Manifest:
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="hello.webview"
4 android:versionCode="1"
5 android:versionName="1.0">
6 <uses-permission android:name="android.permission.INTERNET" />
7 <uses-permission android:name="android.permission.NETWORK" />
8 <application
9 android:icon="@drawable/icon"
10 android:label="@string/app_name"
11 android:debuggable="true">
12 <activity android:name=".HelloWebView"
13 android:label="@string/app_name">
14 <intent-filter>
15 <action android:name="android.intent.action.MAIN" />
16 <category android:name="android.intent.category.LAUNCHER" />
17 </intent-filter>
18 </activity>
19
20 </application>
21 <uses-sdk android:minSdkVersion="8" />
22
23</manifest>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="hello.webview"
4 android:versionCode="1"
5 android:versionName="1.0">
6 <uses-permission android:name="android.permission.INTERNET" />
7 <uses-permission android:name="android.permission.NETWORK" />
8 <application
9 android:icon="@drawable/icon"
10 android:label="@string/app_name"
11 android:debuggable="true">
12 <activity android:name=".HelloWebView"
13 android:label="@string/app_name">
14 <intent-filter>
15 <action android:name="android.intent.action.MAIN" />
16 <category android:name="android.intent.category.LAUNCHER" />
17 </intent-filter>
18 </activity>
19
20 </application>
21 <uses-sdk android:minSdkVersion="8" />
22
23</manifest>
Die Java Klasse:
1package hello.webview;
2
3import java.io.IOException;
4
5public class HelloWebView extends Activity {
6 /** Called when the activity is first created. */
7 WebView mWebView;
8
9 @Override
10 public void onCreate(Bundle savedInstanceState) {
11 super.onCreate(savedInstanceState);
12 setContentView(R.layout.main);
13 postData();
14
15
16 mWebView = (WebView) findViewById(R.id.webview);
17 mWebView.getSettings().setJavaScriptEnabled(true);
18 mWebView.loadUrl("http://10.0.2.2/postexample");
19 }
20
21 public void postData()
22 {
23 // Create a new HttpClient and Post Header
24 HttpClient httpclient = new DefaultHttpClient();
25 HttpPost httppost = new HttpPost("http://10.0.2.2/postexample.php");
26 try
27 {
28 // Add your data
29 List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
30 nameValuePairs.add(new BasicNameValuePair("Artikel", "Zahnpasta"));
31 nameValuePairs.add(new BasicNameValuePair("Preis", "3.00"));
32 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
33
34 // Execute HTTP Post Request
35 httpclient.execute(httppost);
36
37 }
38 catch (ClientProtocolException e)
39 {
40 // TODO Auto-generated catch block
41 }
42 catch (IOException e)
43 {
44 // TODO Auto-generated catch block
45 }
46 }
47}
2
3import java.io.IOException;
4
5public class HelloWebView extends Activity {
6 /** Called when the activity is first created. */
7 WebView mWebView;
8
9 @Override
10 public void onCreate(Bundle savedInstanceState) {
11 super.onCreate(savedInstanceState);
12 setContentView(R.layout.main);
13 postData();
14
15
16 mWebView = (WebView) findViewById(R.id.webview);
17 mWebView.getSettings().setJavaScriptEnabled(true);
18 mWebView.loadUrl("http://10.0.2.2/postexample");
19 }
20
21 public void postData()
22 {
23 // Create a new HttpClient and Post Header
24 HttpClient httpclient = new DefaultHttpClient();
25 HttpPost httppost = new HttpPost("http://10.0.2.2/postexample.php");
26 try
27 {
28 // Add your data
29 List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
30 nameValuePairs.add(new BasicNameValuePair("Artikel", "Zahnpasta"));
31 nameValuePairs.add(new BasicNameValuePair("Preis", "3.00"));
32 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
33
34 // Execute HTTP Post Request
35 httpclient.execute(httppost);
36
37 }
38 catch (ClientProtocolException e)
39 {
40 // TODO Auto-generated catch block
41 }
42 catch (IOException e)
43 {
44 // TODO Auto-generated catch block
45 }
46 }
47}
und letzten Endes die PHP auf dem Server:
1<html>
2<head>
3<title>Ausgabe der eingegebenen Werte</title>
4</head>
5<body>
6<?php
7
8//$_POST[Artikel]="Bier";
9//$_POST[Preis]="1.20";
10
11if( isset($_POST[Artikel]) ) {
12echo "Artikel: $_POST[Artikel]<br>";
13echo "Preis: $_POST[Preis]<br>";
14}
15else{
16echo "Klappt nicht";
17}
18?>
19</body>
20</html>
2<head>
3<title>Ausgabe der eingegebenen Werte</title>
4</head>
5<body>
6<?php
7
8//$_POST[Artikel]="Bier";
9//$_POST[Preis]="1.20";
10
11if( isset($_POST[Artikel]) ) {
12echo "Artikel: $_POST[Artikel]<br>";
13echo "Preis: $_POST[Preis]<br>";
14}
15else{
16echo "Klappt nicht";
17}
18?>
19</body>
20</html>
Danke schonmal im Vorraus!
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.