Я не знаю очень подробностей задачи async,
Недавно я использовал задачу async в своем проекте, чтобы получить некоторые данные с серверной части и обновить свой пользовательский интерфейс в соответствии с результатом, я внедрил диалог прогресса обычным способом и увольняю это в моем методе onPostExicute как этотКакой лучший способ обновить пользовательский интерфейс из задачи aysnc в Android?
@Override
protected void onPostExecute(ArrayList<StationSlots> result) {
try {
publishProgress(100);
WizardStep4.retStationSlots = result;
if (WizardStep4.this.dialog != null) {
WizardStep4.this.dialog.dismiss();
}
} catch (Exception e) {
}
}
но я нашел некоторые коды сделали то же самое, но зрелищно действие на поток пользовательского интерфейса, как этот
@Override
protected void onPostExecute(ArrayList<StationSlots> result) {
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
publishProgress(100);
WizardStep4.retStationSlots = result;
if (WizardStep4.this.dialog != null) {
WizardStep4.this.dialog.dismiss();
}
} catch (Exception e) {
}
}
});
}
Я хотел бы знать, какой из них является лучшим методом и каковы различия?
Спасибо ... за такой быстрый ответ и устранение сомнений, спасибо человеку .... –
Посмотрите на http://developer.android.com /reference/android/os/AsyncTask.html – user370305
@ user370305 - удивительный ответ. –