HttpClient с WebView - PullRequest
       20

HttpClient с WebView

2 голосов
/ 09 августа 2011

Я использую httpclient для отображения веб-страницы в webView с использованием loadDataWithBaseURL. На моем веб-сайте есть несколько ссылок, и я хочу продолжать использовать httpClient, когда пользователь нажимает на ссылку. Возможно ли это сделать? В этом случае, когда пользователь нажимает на ссылку, я должен перехватить ссылку, чтобы мой браузер загрузил ее, затем прекратить загрузку и использовать HttpGet. Это звучит достаточно разумно?

EDIT: Да, это была хорошая идея .. сначала вы устанавливаете клиент

comments.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url){

                String LinkTag = "";
                try {
                    LinkTag = client.httpGet(url);
                } catch (ClientProtocolException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (URISyntaxException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                comments.loadDataWithBaseURL("BaseWebUrl", LinkTag, "text/html", "utf-8", "");
                return true;
            }
        });

И, во-вторых, вы должны создать httpClient для обработки ваших Сообщений и Получений, а также, возможно, других методов

1 Ответ

0 голосов
/ 18 января 2012

Что вам нужно сделать, это после того, как вы позвоните HttpClient hc = new DefaultHttpClient(); и установите его в качестве публичной статической переменной в первом упражнении или классе, в котором вы его используете. Затем, когда пользователь нажимает на ссылку и вам нужно вызвать HttpGet вы просто установите new HttpClient newName = originalClass.hc;, и это сохранит ваши куки.

public class FirstClass{  
   public static HttpClient hc = new DefaultClient();
   {make the original get call}

public class NewClass{
    //new httpclient
    {HttpClient newHC = FirstClass.hc;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...