Android-Webansicht-POST
Ich versuche, etwas zu erreichen, ganz einfach, und doch habe ich keine gute Dokumentation auf dieser. Ich habe eine webView, und ich brauche, um eine Seite zu laden in der es erfordert, dass POST-Daten. Scheint wie ein einfacher Prozess, aber ich kann nicht einen Weg finden, um das Ergebnis in einer webView.
Sollte der Prozess so einfach sein:
Abfrage(mit POST-Daten) -> webserver -> HTML-Antwort -> WebView.
Kann ich senden von Daten, die mit einem DefaultHttpClient, aber diese nicht angezeigt werden kann, in einem WebView.
Irgendwelche Vorschläge?
Viel Dank
Lösung
private static final String URL_STRING = "http://www.yoursite.com/postreceiver";
public void postData() throws IOException, ClientProtocolException {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("foo", "12345"));
nameValuePairs.add(new BasicNameValuePair("bar", "23456"));
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(URL_STRING);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
String data = new BasicResponseHandler().handleResponse(response);
mWebView.loadData(data, "text/html", "utf-8");
}
InformationsquelleAutor der Frage Señor Reginold Francis | 2010-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie dies:
Ich würde empfehlen dies als Teil einer AsyncTask und Aktualisierung der WebView danach
InformationsquelleAutor der Antwort TJF
Zwei Möglichkeiten zum laden von post-Antwort in webview:
webview.loadData()
: Wie, was Sie gebucht haben, bei Ihrer Lösung. Aber "content geladen durch diesen Mechanismus nicht haben die Möglichkeit zum laden von Inhalten aus dem Netzwerk".webview.postUrl()
: Verwenden Sie dies, wenn nach der Reaktion muss das laden von Inhalten aus dem Netzwerk. (HINWEIS: Zugriff nur von api-level 5, was bedeutet, dass keine android-Version 1.6 oder niedriger)(Quelle: http://www.anddev.org/other-coding-problems-f5/webview-posturl-postdata-t14239.html)
InformationsquelleAutor der Antwort tarkeshwar
Ich verwenden webView.loadData() to-do-client posten, und es wird der display-Inhalt von url, mein code :
Funktion verwenden webview_ClientPost() :
InformationsquelleAutor der Antwort HenryChuang
Wenn Sie einen WebView von Anfang könnte es funktionieren?
Einen Webview mit einem html/js das macht die POST, und natürlich zeigt das Ergebnis an.
InformationsquelleAutor der Antwort LatinSuD