0

私はここからこのコードを見つけましたhtmlソースandroidをダウンロードしますか?。しかし、実行しようとすると、プログラムがクラッシュし続けます。私はすでにインターネット許可を追加しました。何かアイデアはありますか?

編集:これが完全なエラーメッセージです。08-02 00:16:47.364:E / EmbeddedLogger(1577):パッケージラベルの取得中にエラーが発生しました:com.jimmyc.lawrenceh.schedulinglookup

Edit2:Android 2.2では動作しますが、Android 4.0/3.0では動作しません。

 private void initialize() {
      //initialize variables here
      try {
          getHtml();
      }
      catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
    }

    public void getHtml() throws ClientProtocolException, IOException {
        HttpClient httpClient = new DefaultHttpClient();
        HttpContext localContext = new BasicHttpContext();
        HttpGet httpGet = new HttpGet("http://www.yahoo.com");
        HttpResponse response = httpClient.execute(httpGet, localContext);
        String result = "";

        BufferedReader reader = 
            new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

        String line = null;
        while ((line = reader.readLine()) != null){
            result += line + "\n";
            // Toast.makeText(Connect.this, line.toString(), Toast.LENGTH_LONG).show();

        }
    }
4

1 に答える 1

0

UI スレッドで HTML コードをダウンロードしようとしていると思います。AsyncTaskを使用して、バックグラウンドでダウンロードしてみてください

編集。Android 2.2 では動作するが、Android 4.0/3.0 では動作しないという場合は、UI スレッドでダウンロードしようとしているに違いありません。Android 3.0 からは、UI スレッドをブロックできるため、長い処理を行うことができなくなりました。別のスレッド
PSでダウンロードを行う必要があります。私の英語でごめんなさい。

于 2012-08-02T09:41:57.437 に答える