3

AndroidでウェブページのHTMLコードを取得したい。WebページのURLは編集テキストボックスに表示され、ユーザーがボタンをクリックすると、テキストビューにそのWebページのコードが表示されます。説明してコードを教えてください!

どんな助けでもいただければ幸いです!

4

3 に答える 3

2
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);

String html = "";
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null)
{
    str.append(line);
}
in.close();
html = str.toString();

AndroidManifest にインターネット アクセス許可を追加することを忘れないでください。

<uses-permission android:name="android.permission.INTERNET" /> 

詳細については、次のリンクを参照してください。

http://lexandera.com/2009/01/extracting-html-from-a-webview/

WebView から HTML コードを取得することは可能ですか?

Androidのhtmlリンクからページのhtmlソースを取得するには?

于 2012-06-05T19:33:35.490 に答える
1

リクエストHttpClientを実行するにはが必要です。HttpGet次に、そのリクエストの内容を読み取ることができます。

このスニペットはあなたに与えますInputStream

  public static InputStream getInputStreamFromUrl(String url) {
  InputStream content = null;
  try {
    HttpClient httpclient = new DefaultHttpClient();
    HttpResponse response = httpclient.execute(new HttpGet(url));
    content = response.getEntity().getContent();
  } catch (Exception e) {
    Log.e("[GET REQUEST]", "Network exception", e);
  }
    return content;
}

そして、このメソッドは以下を返しますString:

// Fast Implementation
private StringBuilder inputStreamToString(InputStream is) {
    String line = "";
    StringBuilder total = new StringBuilder();

    // Wrap a BufferedReader around the InputStream
    BufferedReader rd = new BufferedReader(new InputStreamReader(is));

    // Read response until the end
    while ((line = rd.readLine()) != null) { 
        total.append(line); 
    }

    // Return full string
    return total;
}

ソース: http://www.androidsnippets.com/executing-a-http-get-request-with-httpclientおよびhttp://www.androidsnippets.com/get-the-content-from-a-httpresponse-or-文字列としての任意の入力ストリーム

于 2012-06-05T19:36:13.493 に答える
-1

上記のコードを使用して、次のようにテキストビューに設定します。

InputStream is =InputStream getInputStreamFromUrl("http://google.com");
String htmlText = inputStreamToString(is);

mTextView.setText(Html.fromHtml(htmlText));

しかし、別のスレッド/非同期タスクでネットワーク要求を行います:)

于 2012-06-05T19:59:47.837 に答える