在“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();
}
答案 0 :(得分:1)
执行此类操作的最佳方法是使用AsyncTask
,以便在下载文件时不冻结应用程序。此外,如果您通过使用进度条对话框而不是简单的对话框为用户提供更好的体验,该怎么办呢?实施并不困难;你可以在这里看到一个例子:Download a file with Android, and showing the progress in a ProgressDialog