M
Madlip
Gast
Hallo Community,
ich hab da ein Verständnisproblem und zwars geht es um Datenbank aktionen.
Ich hab es bis jetzt immer so gemacht das wenn ich bei einer Activity zu Beginn Daten aus der Datenbank benötige, hab ich einen Thread erstellt, wie folgt:
Dort hab ich mir halt alle Daten geholt, diesen Prozess habe ich in eine gesonderte Methode ausgelagert "initalisiereDaten". Es hat bisher auch immer geklappt, ich denke weil ich bis jetzt sonst immer mit ArrayAdapter gearbeitet habe. Nun aber brauch ich das in einer ArrayList, weil ich eine Methode habe die anhand der ArrayList, Views aufbaut die relevant für meine main View ist.
Nun bei diesen Fall ist es so, das er erst alle UI Sachen ausführt und dann zum Schluss die Sachen in den Thread macht. Nun bin ich ein wenig verwirrt.
Hat jemand eine Idee was ich nun machen kann?
Also vom Ablauf her wünsche ich mir das so.
in der onCreateView()
{
1. deklaration der UI Elemente
2. Daten aus der DB (Thread-Geschichte)
3. Child View aufbauen und der Main View zuweisen
}
Gruß
Mad
ich hab da ein Verständnisproblem und zwars geht es um Datenbank aktionen.
Ich hab es bis jetzt immer so gemacht das wenn ich bei einer Activity zu Beginn Daten aus der Datenbank benötige, hab ich einen Thread erstellt, wie folgt:
Code:
try
{
new Thread()
{
public void run()
{
uiHandler.post(new Runnable()
{
@Override
public void run()
{
String statement =
"select * from " + TABLE_NAME;
try
{
SQLiteDatabase db = dbHelper.getReadableDatabase();
if (statement.toLowerCase().startsWith("select "))
{
Cursor cursor = db.rawQuery(statement, new String[] {});
while (cursor.moveToNext())
{
daten in eine ArrayList
}
db.close();
}
}
catch (Exception e)
{
e.getLocalizedMessage();
}
}
});
}
}.start();
}
catch (Exception e)
{
// TODO: handle exception
}
Dort hab ich mir halt alle Daten geholt, diesen Prozess habe ich in eine gesonderte Methode ausgelagert "initalisiereDaten". Es hat bisher auch immer geklappt, ich denke weil ich bis jetzt sonst immer mit ArrayAdapter gearbeitet habe. Nun aber brauch ich das in einer ArrayList, weil ich eine Methode habe die anhand der ArrayList, Views aufbaut die relevant für meine main View ist.
Nun bei diesen Fall ist es so, das er erst alle UI Sachen ausführt und dann zum Schluss die Sachen in den Thread macht. Nun bin ich ein wenig verwirrt.
Hat jemand eine Idee was ich nun machen kann?
Also vom Ablauf her wünsche ich mir das so.
in der onCreateView()
{
1. deklaration der UI Elemente
2. Daten aus der DB (Thread-Geschichte)
3. Child View aufbauen und der Main View zuweisen
}
Gruß
Mad