Я новичок в разработке Android.Я работаю над Swing и SWT уже несколько лет.И Swing, и SWT имеют план выполнения кода в синхронизации и асинхронном потоке пользовательского интерфейса.Типичное использование - это выполнение некоторого затратного по времени персонала в одном потоке, а затем отображение результата в асинхронном потоке пользовательского интерфейса.
Итак, мой вопрос, есть ли в Android похожая страсть?Вот мой кодПараметр runnable - это некоторый код, занимающий много времени.Этот метод отображает диалоговое окно ожидания во время выполнения, затем ОЖИДАЕТ, чтобы показать тост после его завершения.Но Тост должен быть показан в потоке пользовательского интерфейса.Так как это сделать?
public static void showWaitingDialog(final Activity parent, final Runnable runnable, String msg) {
if (StringUtils.isEmpty(msg)) {
msg = "processing...";
}
final ProgressDialog waitingDialog = ProgressDialog.show(parent, "Please Wait...", msg, true);
// execute in a new thread instead of UI thread
ThreadPoolUtil.execute(new Runnable() {
public void run() {
try {
// some time-consume operation
runnable.run();
} catch (Exception e) {
e.printStackTrace();
} finally {
waitingDialog.dismiss();
}
// TODO: How to display a Toast message here? execute some code in UI Thread.
}
});
}
И есть ли несколько слов о системе Android UI?Такие, как Thread-Safe, как поток работает вместе и так далее.Большое спасибо!