package org.agilespain.kitaos.provider; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * Db helper */ class KitaosDatabase extends SQLiteOpenHelper { private static final String DATABASE_NAME = "kitaos.db"; private static final int DATABASE_VERSION = 5; /** * config the database * * @param context the context */ KitaosDatabase(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } /** * */ @Override public void onCreate(SQLiteDatabase db) { if (db.isReadOnly()) { db = getWritableDatabase(); } createTalks(db); createSpeakers(db); } /** * on db upgrade recreate all tables */ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { onCreate(db); } /** * Create table Talks * * @param db the database */ private void createTalks(SQLiteDatabase db) { db.execSQL("DROP TABLE IF EXISTS " + Tables.TALKS + " ;"); db.execSQL("CREATE TABLE " + Tables.TALKS + " (" + KitaosContract.Talks._ID + " INTEGER PRIMARY KEY," + KitaosContract.Talks.TITLE + " TEXT," + KitaosContract.Talks.DESCRIPTION + " TEXT," + KitaosContract.Talks.START_DATE + " LONG," + KitaosContract.Talks.END_DATE + " LONG," + KitaosContract.Talks.ROOM + " TEXT," + KitaosContract.Talks.SPEAKER + " TEXT," + KitaosContract.Talks.SPEAKER_EMAIL + " TEXT," + KitaosContract.Talks.SPEAKER_TWITTER + " TEXT" + ");"); } private void createSpeakers(SQLiteDatabase db) { db.execSQL("DROP TABLE IF EXISTS " + Tables.SPEAKERS + " ;"); db.execSQL("CREATE TABLE " + Tables.SPEAKERS + " (" + KitaosContract.Speakers._ID + " INTEGER PRIMARY KEY," + KitaosContract.Speakers.FIRSTNAME + " TEXT," + KitaosContract.Speakers.LASTNAME + " TEXT," + KitaosContract.Speakers.EMAIL + " TEXT," + KitaosContract.Speakers.TWITTER + " TEXT," + KitaosContract.Speakers.BLOG + " TEXT" + ");"); } interface Tables { String TALKS = "talks"; String SPEAKERS = "speakers"; } }