Verständnis Thread in android

  • Hallo Community,ich hab da nun mal eine grundlegende Frage. Es geht um die Thread geschichte in Android, ich war irgendwie der Meinung das es besser ist, wenn man DB zugriffe macht, einen Thread zu benutzen.<br />
    <br />
    Das sieht dann bei mir wie folgt aus: ich hab eine onCreate Methode in der ich zunächste meine ganzen Variablen deklariere und initalisiere. dann kommt eine Methode initalisiereDaten und dann die zuweisung.<br />
    <br />
    das könnte wie folgt ausschauen (sorry irgendwie kann ich das CODE Tag nicht mehr benutzen): <br />
    <br />
    OnCreate()test = (TextView) findViewbyId(r.id.bla)<br />
    <br />
    initalisiereDaten()test.setText(ErgebnisAusInitalisiereDaten);<br />
    <br />
    das ist im groben meine onCreate Methode, nun zu der nächsten:<br />
    <br />
    public void initalisiereDaten()<br />
    Try {<br />
    New Thread(){<br />
    public void run(){<br />
    uiHandler.post(new Runnable(){<br />
    {<br />
    @Override<br />
    public void run(){<br />
    Sqlstatement = select * from test;<br />
    ErgebnisAusInitalisiereDaten = "Test";<br />
    Try{<br />
    datenbankzeugs<br />
    }catch{<br />
    }<br />
    }<br />
    }<br />
    });<br />
    }<br />
    }.start();<br />
    }catch{<br />
    }<br />
    }<br />
    <br />
    dabei ist mir nun aufgefallen das er diese public void run Methode in meiner initalisiere Methode zu letzt ausführt.<br />
    <br />
    Woran liegt das? Ist das so gewollt, oder ist das vielleicht ein Fehler bei mir? Muss ich wenn ich zu Beginn einer Activity Daten initalisieren will so einen Handler haben? Hab ich alternativen???Wäre nett wenn mich da mal jemand aufklären könnte.<br />
    <br />
    Gruß<br />
    Mad<br />
    <br />
    Und bitte entschuldigt das ich es nicht in dieses CODE Tag geschrieben hab aber irgendwie gehen die bei mir nicht, ich weiß nicht ob es daran liegt weil ich gezwungener Maßen mit dem IE ins Internet muss ...<br />
    <br />
    EDIT: Hab es mal getestet es liegt am verdammten IE ... so ein Drecksbrowser, der haut mir die ganze Formatierung weg ... naja ein hoch auf Hotspot funktion beim Handy und ein glück das das notebook dabei ist ...

  • Hi Madlip,
    ich war mal so frei und hab deinen Post in eine lesbare Form gebracht.



    ok nachdem die sache nun lesbar ist.
    was meinst du mit:

    Zitat

    "dabei ist mir nun aufgefallen das er diese public void run Methode in meiner initalisiere Methode zu letzt ausführt."


    bzw welche run-Methode meinst du die des Handlers oder die des Threads?


    Weil eigentlich sollte die Arbeit im Thread gemacht werden("datenbankzeugs") und der Handler sollte genutzt werden um die UI "upzudaten".
    In diesem Rahmen vielleicht auch recht interessant: Android Threads, Handlers and AsyncTask - Tutorial


    mfg Titus

Jetzt mitmachen!

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