1

「onCreate」では、Webからデータをダウンロードしています。データのダウンロード時間は10秒です。データのダウンロード中にProgressDialogを使用したくありません。これが私のコードですが、ProgressDialogが表示されません:

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ProgressDialog dialog = ProgressDialog.show(Test.this, "", 
        "Loading. Please wait...", true);

     try {
         URL myURL = new URL("http://www.sample.com/");
         URLConnection ucon = myURL.openConnection();
         InputStream is = ucon.getInputStream();
         BufferedInputStream bis = new BufferedInputStream(is);
         ByteArrayBuffer baf = new ByteArrayBuffer(50);
         int current = 0;
          while((current = bis.read()) != -1){
                  baf.append((byte)current);
          }

          content= new String(baf.toByteArray());

     }
     catch (Exception e) {}
     dialog.dismiss();
}
4

1 に答える 1

1

この種のことを行うための最良のアプローチはAsyncTask、ファイルのダウンロード中にアプリケーションをフリーズさせないために使用することです。さらに、単純なダイアログではなくプログレスバーダイアログを使用して、ユーザーに優れたエクスペリエンスを提供するとどうなるでしょうか。実装するのは難しくありません。ここで例を見ることができます:Androidでファイルをダウンロードし、ProgressDialogで進行状況を表示します

于 2010-06-26T02:43:59.720 に答える