M
Madlip
Gast
Hallo Community,
ich wollt gern mal eure Erfahrung zu besagten Thema wissen und zwars muss ich - sagen wir einfach mal einen Code von jemand fremdes verstehen bzw muss seinen Code befolgen ... (ist jetzt nicht so wichtig, nur soll schonmal sagen, dass das Design nicht von mir ist!)
Es geht darum das es eine Anwendung ist die eine DB integriert hat, soweit so gut.
Es gibt eine Activity und eben eine Klasse die von SQLiteOpenHelper ableitet.
in der Klasse die von SQLiteOpenHelper ableitet gibt es ja die onCreate (in der die Befehle enthalten sind zum erzeugen der db-Tabellen), zusätzlich ist dort drin eine Methode die dazu dient ein gegebenes SQL Statement auszuführen
db ist in der Klasse als Instanzvariable deklariert worden ...
soweit so gut mit dem Leid, mit den Infos wie es funktionieren soll ...
Der Ablauf ist nun folgender, wenn der Benutzer die App startet und gewisse Daten ermittelt wird die besagte Methode aufgerufen um die db-Tabelle mit Daten zu befüllen. Nur dies geht nicht mit der Meldung es sei die Tabelle nicht vorhanden.
Was mich irgendwie verwundert, weil wenn man die Methode "getWritableDatabase()" oder eben "getReadableDatabase()" aufruft und die Tabelle noch nicht existiert er ja dann in die onCreate() Methode springt um eben die Tabelle (wenn Befehl vorhanden ist) zu erstellen (laut API).
Wenn ich wiederum in der onCreate Methode von der Activity die Methode "getReadableDatabase()" aufrufe springt in die onCreate Methode von der SQLiteOpenHelper Klasse, wenn ich aber auch dort die "getWritableDatabase()" Methode aufrufe springt er dort auch nicht rein ...
Nun meine Frage, hab ich irgendwas vergessen/falsch gemacht? Hat jemand ähnliche Erfahrung gemacht?
Gruß
Mad
ich wollt gern mal eure Erfahrung zu besagten Thema wissen und zwars muss ich - sagen wir einfach mal einen Code von jemand fremdes verstehen bzw muss seinen Code befolgen ... (ist jetzt nicht so wichtig, nur soll schonmal sagen, dass das Design nicht von mir ist!)
Es geht darum das es eine Anwendung ist die eine DB integriert hat, soweit so gut.
Es gibt eine Activity und eben eine Klasse die von SQLiteOpenHelper ableitet.
in der Klasse die von SQLiteOpenHelper ableitet gibt es ja die onCreate (in der die Befehle enthalten sind zum erzeugen der db-Tabellen), zusätzlich ist dort drin eine Methode die dazu dient ein gegebenes SQL Statement auszuführen
Code:
public void writeInDb(String sqlStatement)
{
if (db == null || !db.isOpen())
{
db = this.getWritableDatabase();
}
db.execSQL(sqlStatement);
}
db ist in der Klasse als Instanzvariable deklariert worden ...
soweit so gut mit dem Leid, mit den Infos wie es funktionieren soll ...
Der Ablauf ist nun folgender, wenn der Benutzer die App startet und gewisse Daten ermittelt wird die besagte Methode aufgerufen um die db-Tabelle mit Daten zu befüllen. Nur dies geht nicht mit der Meldung es sei die Tabelle nicht vorhanden.
Was mich irgendwie verwundert, weil wenn man die Methode "getWritableDatabase()" oder eben "getReadableDatabase()" aufruft und die Tabelle noch nicht existiert er ja dann in die onCreate() Methode springt um eben die Tabelle (wenn Befehl vorhanden ist) zu erstellen (laut API).
Wenn ich wiederum in der onCreate Methode von der Activity die Methode "getReadableDatabase()" aufrufe springt in die onCreate Methode von der SQLiteOpenHelper Klasse, wenn ich aber auch dort die "getWritableDatabase()" Methode aufrufe springt er dort auch nicht rein ...
Nun meine Frage, hab ich irgendwas vergessen/falsch gemacht? Hat jemand ähnliche Erfahrung gemacht?
Gruß
Mad