2012-06-13 6 views
5

Ich sah bereits ein Beispiel für die Verwendung von SQlite in Android ... aber in diesem speziellen Beispiel, Datensätze werden jedes Mal eingefügt, wenn die App ausgeführt wird .. Aber ich wollte es nur einmal und dauerhaft einfügen! irgendwelche Möglichkeiten ???Wie fügt man Daten in die SQLite-Datenbank in Android ein?

+0

thanq alle für Ihre freundliche Hilfe :-) Jetzt habe ich ein besseres Verständnis von SQLite :-) – rampireram

Antwort

5

Insert Werte in onCreate Methode Ihres SQLiteOpenHelper. Es wurde nur aufgerufen, wenn Ihre DB erstellt wurde.

+0

Das ist gut, Daten einzufügen, um Datenbank mit Anfangsdaten zu holen, so ist nicht leer, wenn zuerst die App installiert. – PhoneixS

1

SQLite Datenbanken sind persistent, so, wenn Sie die App auf einem Smartphone oder Tablet haben und die DB erstellt wird, sollten die Aufzeichnungen in dort bleiben, bis Sie die Datensätze oder die gesamte Datenbank löschen.

Sie sollten den SQLiteDatabaseHelper von Ihrer Application-Klasse aufrufen. Jedes Mal, wenn Sie die App öffnen, wird nur nach dem Namen der Datenbank gesucht. Wenn die Datenbank nicht gefunden werden kann, wird sie erstellt - Wenn Sie einen Datensatz haben, der einmal und nur einmal eingefügt werden soll, sollten Sie die Datensätze in der onCreate-Methode erstellen.

0

Ohne Code oder genauer auf genau das, was Sie tun wollen, ist es schwer zu viel zu helfen. Was Sie jedoch tun können, ist, Ihre SQL-Einfügefunktion mit einem OnClickListener oder einem anderen Aktionslistener zu verknüpfen, so dass der Eintrag nur hinzugefügt wird, wenn Sie möchten und nicht jedes Mal, wenn die Aktivität erstellt wird.

14
//DB HANDLER CLASS 
    public void saveRecords(String info, int otherinfo, int greatinfo){ 

    SQLiteDatabase db = this.getWritableDatabase(); 

    ContentValues values = new ContentValues(); 
    values.put(STRING_COLUMNA, info); // inserting a string 
    values.put(STRING_COLUMNB, otherinfo); // inserting an int 
    values.put(STRING_COLUMNC, greatinfo); // inserting an int 

    // Inserting Row 
    db.insert(TABLE_NAME, null, values); 
    db.close(); // Closing database connection 

} 

Viel Glück!

+3

Betrachten Datenbank-Operationen in der Transaktion Einwickeln - siehe [android Beispiel Aktualisierung Datenbank unter Verwendung einer Transaktion] (http://android.codota.com/scenarios/528e1e21da0ae9404ad3ab53/android.database.sqlite.SQLiteDatabase?tag=bumblebee) – drorw

Verwandte Themen