M
Madlip
Gast
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.
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.
das könnte wie folgt ausschauen (sorry irgendwie kann ich das CODE Tag nicht mehr benutzen):
OnCreate()test = (TextView) findViewbyId(r.id.bla)
initalisiereDaten()test.setText(ErgebnisAusInitalisiereDaten);
das ist im groben meine onCreate Methode, nun zu der nächsten:
public void initalisiereDaten()
Try {
New Thread(){
public void run(){
uiHandler.post(new Runnable(){
{
@Override
public void run(){
Sqlstatement = select * from test;
ErgebnisAusInitalisiereDaten = "Test";
Try{
datenbankzeugs
}catch{
}
}
}
});
}
}.start();
}catch{
}
}
dabei ist mir nun aufgefallen das er diese public void run Methode in meiner initalisiere Methode zu letzt ausführt.
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.
Gruß
Mad
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 ...
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 ...
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.
das könnte wie folgt ausschauen (sorry irgendwie kann ich das CODE Tag nicht mehr benutzen):
OnCreate()test = (TextView) findViewbyId(r.id.bla)
initalisiereDaten()test.setText(ErgebnisAusInitalisiereDaten);
das ist im groben meine onCreate Methode, nun zu der nächsten:
public void initalisiereDaten()
Try {
New Thread(){
public void run(){
uiHandler.post(new Runnable(){
{
@Override
public void run(){
Sqlstatement = select * from test;
ErgebnisAusInitalisiereDaten = "Test";
Try{
datenbankzeugs
}catch{
}
}
}
});
}
}.start();
}catch{
}
}
dabei ist mir nun aufgefallen das er diese public void run Methode in meiner initalisiere Methode zu letzt ausführt.
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.
Gruß
Mad
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 ...
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 ...
Zuletzt bearbeitet: