Wie zum ausführen von code in Android-UI-thread async?

Ich bin neu in der Android Entwicklung. Ich habe arbeiten von Swing und SWT für mehrere Jahre. Sowohl Swing als auch SWT hat eine stratage das ausführen von code im UI-thread-sync und async. Die typische Nutzung einiges an Zeit verbrauchen, die Mitarbeiter in einem thread zeigt dann das Ergebnis im UI-thread async.

Also meine Frage ist, ist es ähnlich stratage in Android? Hier ist mein code. Parameter runnable ist einige Zeit verbrauchen code. Diese Methode zeigt ein warte-dialog während der Ausführung dann ERWARTEN, dass Sie zu zeigen, ein Toast nach dem es fertig ist. Aber der Toast sein müssen, zeigen im UI-thread. So, wie das zu tun?

    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.

        }

    });

}

Ist und dort einige Worte über Android-UI-system? Wie ist es Thread-Safe ist, wie thread zusammen arbeitet und so weiter. Vielen Dank!

InformationsquelleAutor DeepNightTwo | 2012-02-07
Schreibe einen Kommentar