android-sqliteAan de slag met Android-sqlite


Opmerkingen

De SQLite-bibliotheek zelf heeft alleen een C API; om het toegankelijk te maken vanuit Java, verpakt het Android-framework dit met het android.database.sqlite- pakket. De belangrijkste klassen zijn SQLiteDatabase en SQLiteOpenHelper .

Het android.database- pakket bevat de database-gerelateerde delen van het framework die niet SQLite-specifiek zijn.

versies

API niveau

API niveau Platformversie Naam Publicatiedatum
1 1.0 Baseren 2008-09-23
5 2.0 Eclair 2009-10-26
8 2.2 Froyo 2010-05-20
11 3.0 Honingraat 2011-02-22
16 4.1 Jelly Bean 2012-07-09
19 4.4 Kit Kat 2013/10/31
23 6.0 Heemst 2015/10/05

Basis gebruik

Om een database in uw app op te nemen, leidt u doorgaans een klasse af van SQLiteOpenHelper :

public class HelloDBHelper extends SQLiteOpenHelper {
    private static final int DATABASE_VERSION = 1;
    private static final int DATABASE_NAME = "hello";

    HelloDBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE ...");
        ...
    }
}
 

Deze helperklasse is verantwoordelijk voor het openen (en indien nodig maken / bijwerken) van de database. Gebruik het om een SQLiteDatabase- object te krijgen voor toegang tot de gegevens:

SQLiteDatabase db = helper.getReadableDatabase();
Cursor c = db.query(...);
while (c.moveToNext()) {
    String name = c.getString(0);
    ...
}
 
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("column", value);
...
db.insertOrThrow("table", null, cv);