1

そのため、別の古い投稿から以下のコードを使用していますが、一部に問題があり、 for: の行がHttpGet request = new HttpGet(url);機能しません。URL スポットに のようなものを入れましwww.stackoverflow.comたが、その一部ではコードがコンパイルされません。私は基本的に、HTML Web サイトからテキストの書き込みを取得しようとしています。完全なコード:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    HttpClient client = new DefaultHttpClient();
    HttpGet request = new HttpGet(www.stackoverflow.com);
    HttpResponse response = client.execute(request);

    String html = "Toronto-GTA";
    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();
}
4

4 に答える 4

3

HTTPGetURLまたは文字列を想定しているため、リクエスト行を次のように変更してみてください。

HttpGet request = new HttpGet("http://www.stackoverflow.com/");
于 2011-04-22T18:54:21.370 に答える
2

次の形式の文字列を使用します。

[scheme:][//authority][path][?query][#fragment]

すなわち"http://www.stackoverflow.com"

于 2011-04-22T18:54:43.727 に答える
0

これを試して:HttpGet request = new HttpGet("www.stackoverflow.com");

于 2011-04-22T18:52:14.437 に答える
0

上記の回答に追加すると、コードを try および catch ステートメントで囲み、例外をキャッチします。

try{
HttpClient client = new DefaultHttpClient();
    HttpGet request = new HttpGet("www.stackoverflow.com");
    HttpResponse response = client.execute(request);
    InputStream in = response.getEntity().getContent();
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    StringBuilder str = new StringBuilder();
    String line, html = null;
    while((line = reader.readLine()) != null)
    {
        str.append(line);
    }
    in.close();
    html = str.toString();
}
catch(Exception e){
//Do something here like printing the stacktrace
}
于 2011-04-22T19:19:23.337 に答える