1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. anfortas, 09.08.2010 #1
    anfortas

    anfortas Threadstarter Neuer Benutzer

    Hallo

    Ich bin gerade am rumpröbeln und versuche gerade eine minimale Datendank zu erstellen. Das hat soweit Funktioniert. Doch beim löschen habe ich noch Probleme. Eigentlich müsste dieser Code doch die Tabelle "meineTabelle" löschen. Wo liegt der Fehler?

    try{
    db1 = openOrCreateDatabase("meineTabelle", MODE_WORLD_READABLE, null);
    db1.execSQL("DROP TABLE" + "meineTabelle");
    }
    catch (Exception e) {;}
    finally { db1.close();}
     
  2. Zonnex, 09.08.2010 #2
    Zonnex

    Zonnex Fortgeschrittenes Mitglied

    Leerzeichen nicht vergessen!
    db1.execSQL("DROP TABLE " + "meineTabelle");

    Mfg :)
     
  3. anfortas, 09.08.2010 #3
    anfortas

    anfortas Threadstarter Neuer Benutzer

    Ach.... Sachen gibts...:(:(
    Aber vielen dank!;)
    Ich habe etwas weiter ausprobiert und es haben sich mir noch einmal eine weitere Fragen gestellt, oder eher ein Problem

    Ich habe nun eine einfache Datenbank erstellt, (diesesmal mit einem Databasehelper).
    In einem EditText, kann man Text eingeben und diesen dann in der Datenbank anlegen und gleichzeitig ausgeben. Problem ist nur bei Neustart der Applikation wird natürlich wieder die Oncreate aufgerufen und alles ist wieder wie vorher.
     
  4. Zonnex, 09.08.2010 #4
    Zonnex

    Zonnex Fortgeschrittenes Mitglied

    Hab zwar bei Android noch nicht mit Datenbanken gearbeitet, aber da gibt es mehrere Möglichkeiten:

    1. Evtl. gibt es eine Methode die Überprüft ob die DB existiert.

    2. Einfach einen simplen read Befehl ausführen, welcher ein Ergebnis liefert wenn sie existiert, oder einen Fehler wenn nicht.

    3. Über SharedPreferences eine boolean abspeichern, welche beim ersten start, nachdem die Datenbank erstellt wurde, auf true gesetzt wird.
     
  5. the_alien, 09.08.2010 #5
    the_alien

    the_alien Android-Lexikon

    OnCreate sollte eigentlich nur aufgerufen werden wenn die Datenbank noch nicht da ist.
    Gelöscht werden sollte die Datenbank auch nur wenn die Applikation deinstalliert ist.
     
  6. anfortas, 09.08.2010 #6
    anfortas

    anfortas Threadstarter Neuer Benutzer

    Die Datenbank selber wird natürlich nicht gelöscht, sondern nur die Tabelle, dass sie nachher wieder neu angelegt werden kann.
    Das erscheint mir, als den einfachsten weg.

    und es ist ja openOrCreateDatabase, ich meine damit das Oncreate der Acitivty, und dieses ist wahrscheinlich zwingend oder?
     
  7. Zonnex, 09.08.2010 #7
    Zonnex

    Zonnex Fortgeschrittenes Mitglied

    Jup.
     
  8. anfortas, 09.08.2010 #8
    anfortas

    anfortas Threadstarter Neuer Benutzer

    Ach...:(:(

    Gibts irgendso einen Android-Gott, an den man sich wenden kann, falls man nicht mehr weiterkommt, keine Ahnung hat und unter extremem zeitdruck steht und der einem dann weiterhilft?
     
  9. the_alien, 10.08.2010 #9
    the_alien

    the_alien Android-Lexikon

    Die Tabelle ist auch nicht weg. Wenn die App NICHT deinstalliert wird oder ihre Daten MANUELL GELÖSCHT werden, ist die Datenbank auf jeden Fall noch da und hat ihren Inhalt noch.

    Falls du nur openOrCreateDatabase nutzt bleibt die Datenbank genau so wie sie vorher war. Du musst die Tabelle schon manuell droppen...

    PS: Gerade oben gesehen das du sie wirklich manuell dropst...