Loading your workspace…
Explore a parameterized SQLite helper for a local-first notes app.
Choose a file to explore. Copy it into your own project when you’re ready.
package com.example.notes;
import android.content.Context;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class NotesDb extends SQLiteOpenHelper {
public NotesDb(Context context) { super(context, "notes.db", null, 1); }
@Override public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE notes (id INTEGER PRIMARY KEY, title TEXT NOT NULL)");
}
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Add non-destructive migrations when the schema changes.
}
public long add(String title) {
ContentValues values = new ContentValues();
values.put("title", title);
return getWritableDatabase().insertOrThrow("notes", null, values);
}
public int count() {
try (Cursor cursor = getReadableDatabase().rawQuery("SELECT COUNT(*) FROM notes", null)) {
return cursor.moveToFirst() ? cursor.getInt(0) : 0;
}
}
}