package org.djd.busntrain.provider.table; import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.util.Log; import org.djd.busntrain.provider.table.AaaTableHelper.Table; import static android.provider.BaseColumns._ID; import static org.djd.busntrain.provider.TrainStationsContentProvider.TRAIN_STATIONS_TABLE_NAME; import static org.djd.busntrain.train.TrainStationsEntity.Columns.COLOR; import static org.djd.busntrain.train.TrainStationsEntity.Columns.DESTINATION; import static org.djd.busntrain.train.TrainStationsEntity.Columns.SEQUENCE; import static org.djd.busntrain.train.TrainStationsEntity.Columns.STOP_ID; import static org.djd.busntrain.train.TrainStationsEntity.Columns.STOP_NAME; class TrainStationsTable implements Table { private static final String TAG = TrainStationsTable.class.getSimpleName(); private static final String TRAIN_STATIONS_TABLE_DROP_SQL = String.format("DROP TABLE IF EXISTS %s", TRAIN_STATIONS_TABLE_NAME); private static final String TRAIN_STATIONS_TABLE_CREATE_SQL = String.format( "CREATE TABLE %s ( %s INTEGER PRIMARY KEY AUTOINCREMENT, %s INTEGER, %s TEXT, " + "%s TEXT, %s TEXT, %s INTEGER, UNIQUE (%s, %s) ON CONFLICT REPLACE);", TRAIN_STATIONS_TABLE_NAME, _ID, STOP_ID, STOP_NAME, COLOR, DESTINATION, SEQUENCE, STOP_ID, COLOR ); public TrainStationsTable() { Log.i(TAG, "table is created."); } @Override public void onCreate(SQLiteDatabase db) { Log.i(TAG, "Create db table if not yet exists." + TRAIN_STATIONS_TABLE_CREATE_SQL); db.execSQL(TRAIN_STATIONS_TABLE_CREATE_SQL); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.i(TAG, "Android called onUpgrade() method."); db.execSQL(TRAIN_STATIONS_TABLE_DROP_SQL); onCreate(db); } }