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 и показывая прогресс в прогрессе
Не связан с StackOverflow