Próbuję osiągnąć coś bardzo prostego, ale nie znalazłem dobrej dokumentacji na ten temat. Mam webView, i muszę załadować stronę, która wymaga danych POST. Wydaje się, że jest to prosty proces, ale nie mogę znaleźć sposobu na wyświetlenie wyniku w WebView.Android Webview POST
Proces ten powinien być prosty:
kwerendy (z danymi POST) -> serwer WWW -> HTML odpowiedź -> WebView.
Mogę przesłać dane za pomocą DefaultHttpClient, ale nie można tego wyświetlić w WebView.
Wszelkie sugestie?
Much Dzięki
Rozwiązanie
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");
}
Mam kawałek kodu bardzo podobny do tego, ale nie mam pojęcia, jak powiązać to z WebView. Jeśli to nie za dużo problemów, możesz opublikować fragment WebView za pomocą tego fragmentu kodu? Dzięki –
Gdy masz już dane, czy chcesz wyświetlić wyniki w "WebView", czy chcesz, aby użytkownik nadal klikał łącza? Wierzę, że po wczytaniu danych z 'String' nie można z nim współdziałać. Opracuj trochę więcej.;-) – TJF
Wszystko, co naprawdę chcę zrobić, to przesłać dane POST do strony, a następnie wyświetlić stronę wynikową do użytkownika –