1

在“onCreate”中,我正在从网络下载数据。下载数据的持续时间为 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 回答