Android Webview POST

Я пытаюсь сделать что-то довольно простое, но я не нашел хорошей документации по этому вопросу. У меня есть webView, и мне нужно загрузить в него страницу, требующую данных POST. Похоже на простой процесс, но я не могу найти способ отобразить результат в веб-представлении.

Процесс должен быть простым:

запрос (с данными POST) -> веб-сервер -> ответ HTML -> WebView.

Я могу отправить данные, используя DefaultHttpClient, но это не может быть отображено в WebView.

Есть предложения?

Большое спасибо

Решение

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");
    }
43
задан Señor Reginold Francis 13 August 2010 в 15:24
поделиться

2 ответа

Попробуйте следующее:

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);  

}

Я бы порекомендовал сделать это как часть AsyncTask и последующее обновление WebView

16
ответ дан 26 November 2019 в 22:24
поделиться

Если вы используете WebView с самого начала, может ли он работать?

Webview с html / js, который выполняет POST и, естественно, отображает результат.

2
ответ дан 26 November 2019 в 22:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: