0

Url から HTML ソース コードを取得しようとしています ... INTERNET のアクセス許可も追加しましたが、それでも文字列で HTML コードを取得できませんでした ... アプリケーションがクラッシュしました ... Android 4.2 でこれを使用しています .. .i も同じページを webview に読み込んでおり、webview にページが表示されています ...助けてください ...

次のコードを使用しています

public String getXml(String url) {

    try {
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(url);
        ResponseHandler<String> resHandler = new BasicResponseHandler();
        String page = httpClient.execute(httpGet, resHandler);
        return page;
    } catch (ClientProtocolException e) {
        e.printStackTrace();
        return "";
    } catch (IOException e) {
        e.printStackTrace();
        return "";
    }
}

もう 1 つ質問したいのですが、既にダウンロードされている Web ページの HTML ソース コードを取得する必要がある場合はどうすればよいでしょうか?

4

2 に答える 2

0

例外が発生するメインスレッドでネットワーク操作を行っていると思います。

NetworkOnMainThreadException.

そのため、AsyncTask を使用して、Android バージョン >= 3.0 でネットワーク操作を行います。

編集

AsyncTask で操作を実行する方法について学習します。

Android デベロッパー ドキュメントを見てください。

于 2013-03-26T15:45:05.263 に答える
0

@TGMCiansが言ったことを実行し、これをAsyncTaskに入れます。ただし、返された HTML を文字列で取得するには、次のようにします。

String responseEntity = EntityUtils.toString(page.getEntity);

その中にHTMLが含まれている必要があります。

于 2013-03-26T15:47:34.133 に答える