Threads einbinden...

  • Hallo zusammen,


    ich habe in meinem Projekt der Übersichtlichkeit halber eine eigene Klasse mit verschiedenen statischen Funktionen, die von einem Server im Netzwerk Daten holen und auswerten.
    Die Activities greifen einfach auf diese statischen Funktionen zu und erhalten die Daten, die sie dann anzeigen.
    Das Problem ist: Ich möchte gerne einen "Wird geladen"-Dialog anzeigen, solange die Daten im Hintergrund geladen werden. Wenn ich das richtig verstanden habe, muss ich den Code, der herunterlädt, in einen seperaten Thread packen.
    Irgendwie muss ich das ganze aber dann auch mit der Activity, bzw. dem Dialog verknüpfen.
    Woher weiß die Activity, wann der Thread fertig ist, oder ob der Download evtl. gar nicht geklappt hat?
    Wie stelle ich die Verbindung zum Dialog her und wie übertrage ich dann die Daten des Downloads?


    Viele Grüße, R2

  • vermutlich ließe sich das ganze gut mit AsyncTasks lösen, aber ich weiß nicht so recht, wie ich die in meine Struktur eingebunden kriege.
    Wenn ich diese Tasks (ich würde vermutlich für jede Aktion einen eigenen brauchen) alle in die Activity packe, ist es mit der Übersichtlichkeit vorbei.
    Wenn ich sie aber in die Klasse mit den statischen Funktionen packe, habe ich von dort aus keinen Zugriff auf die GUI Elemente, um sie zu updaten.

  • Hi


    Zitat

    Wenn ich das richtig verstanden habe, muss ich den Code, der herunterlädt, in einen seperaten Thread packen.


    Android bietet für sowas ne nette kleine Klasse und zwar AsyncTask


    Zitat

    ob der Download evtl. gar nicht geklappt hat?


    Falls der Serverzugriff mittels HTTP erfolg könntest du den Statuscode abfragen


    Zitat

    Wie stelle ich die Verbindung zum Dialog her



    Zitat

    und wie übertrage ich dann die Daten des Download?


    Wie greifst du denn auf den Server zu?


    mfg titus

  • Hi ArtooDetoo,


    oh war ich ein bissel zu spät...mmhh wenns mit der AsynTask nicht geht wirst du wohl an einen eigenen Threadimplementierung nicht vorbei kommen.


    Idee: was wäre wenn du innerhalb der doInBackground Methode entscheidst welche Action jetzt ausgeführt wird, über switch oder if/else.
    Wie soll eigentlich der ganze Spaß ausgelöst werden? Drück der User einen Button und die Daten werden vom Server geladen oder wie hast du dir das vorgestellt?


    mfg Titus

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!