1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. tar, 20.05.2011 #1
    tar

    tar Threadstarter Neuer Benutzer

    Hallo Leute!

    Ich habe ein Problem wofuer ich keine vernuenftige Loesung finde und mir auch nicht so sicher bin, ob denn ueberhaupt eine einfache Loesung dafuer existiert:

    In meiner App muss ich an manchen Stellen ziemlich aufwaendigen Code ausfuehren. Jetzt wirft Android natuerlich eine ANR, weil meine GUI nicht reagiert. Also muss ich das ganze eigentlich in einen separaten Thread auslagern, z.B. mit AsyncTask. Wenn ich das so mache, dann bedeutet das allerdings, dass die App schon mit der Programmausfuehrung weiter macht, obwohl ich eigentlich noch auf die Ergebnisse von AsyncTask warte.

    Was ich also eigentlich will, ist eine Loesung, bei der ich meinen Code ausfuehre und gleichzeitig noch die GUI, z.b. eine ProgressBar, update und in der Codeausfuehrung erst weitermache, wenn der aufwendige Task abgearbeitet wurde. Der Aufrufe muss also irgendwie blockierend geschehen.

    Ich hoffe ich habe klar gemacht, was mein Problem ist. Irgendwelche Vorschlaege?

    Tobias
     
  2. ko5tik, 20.05.2011 #2
    ko5tik

    ko5tik Android-Experte

    Dann starte man ein neues Thread und mache deine Berechnungen dort.
     
  3. tar, 20.05.2011 #3
    tar

    tar Threadstarter Neuer Benutzer

    Ich moechte aber, dass das blockierend geschieht. Also dass der Code nach der Berechnung erst ausgefuehrt wird, wenn die Berechnung abgeschlossen ist, da ich das Ergebnis der Berechnung brauche. Wenn man das in einen extra Thread auslagert, wird dieser abgearbeitet und die Ausfuehrung im Mainthread wartet nicht auf das Ergebnis des Threads.
     
  4. swordi, 20.05.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    naja das sind grundlegene architektur geschichten.

    starte einen thread ( am besten einen asynctask ) und wenn die berechnung fertig ist, rufst eine callback methode auf, die dann weiter arbeitet.

    das blockiert den ui thread nicht und erziehlt dein gewünschtes ergebnis
     
    tar gefällt das.
  5. tar, 20.05.2011 #5
    tar

    tar Threadstarter Neuer Benutzer

    Danke fuer deine Antwort. Ich hab es jetzt so umgesetzt, bin allerdings mit der Loesung nicht ganz zufrieden, da man ja so fuer jeden Fall einen eigene Ableitung von AsyncTask schreiben muss und auch fuer jeden Fall eine Callback-Methode. Ich hatte gehofft, dass es da vielleicht eine Android-Spezialloesung gibt.

    Falls noch jemand eine Idee hat, wuerde ich mich freuen. Aber so funktioniert es zumindest.
     
  6. swordi, 20.05.2011 #6
    swordi

    swordi Gewerbliches Mitglied

    und wo ist das problem, wenn ich für verschiedene fälle verschiedene klasse baue??

    das versteh ich nicht ganz
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[GELÖST] Nach AS Update Fehler Error running app: Default Activity not found Android App Entwicklung 16.05.2017
Tage zwischen zwei Terminen berechnen Android App Entwicklung 22.02.2017
Wie realisiere ich eine zeitgesteuerte Berechnung und die Anzeige von PDF's Android App Entwicklung 21.02.2017
Brauche Vorschläge welche GUI Elemente ich benutzen soll in meiner App Android App Entwicklung 24.12.2016
Du betrachtest das Thema "Aufwändige Berechnung und GUI-Update" im Forum "Android App Entwicklung",