ProgressDialog oncreate
-
30-09-2019 - |
سؤال
في "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();
}
المحلول
أفضل طريقة للقيام بهذا النوع من الأشياء هي استخدامها AsyncTask
من أجل عدم تجميد التطبيق أثناء تنزيل الملف. علاوة على ذلك ، ماذا لو أعطيت المستخدمين تجربة أفضل باستخدام مربع حوار شريط التقدم بدلاً من مربع حوار بسيط. ليس من الصعب تنفيذها ؛ يمكنك الاطلاع على مثال هنا: قم بتنزيل ملف مع Android ، وإظهار التقدم في ProgressDialog
لا تنتمي إلى StackOverflow