package com.mobidev.newsapp.database; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper; import android.provider.BaseColumns; import android.util.Log; import com.mobidev.newsapp.AppConstants.AppConstants; public class DataBaseHelper extends SQLiteOpenHelper { private static final String DEBUG_TAG = "DataBaseHelper"; private static final int DB_VERSION = AppConstants.DATABASE_VERSION; private static final String DB_NAME = AppConstants.DATABASE_NAME; private Context mContext; public interface Tables { String NEWS = "news"; } public DataBaseHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); mContext = context; } @Override public void onCreate(SQLiteDatabase db) { try { db.execSQL("CREATE TABLE " + Tables.NEWS + " (" + BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + AppContract.NewsColumns.NEWS_ID + " integer(11), " + AppContract.NewsColumns.NEWS_TYPE_ID + " integer(11), " + AppContract.NewsColumns.SLUG + " text not null, " + AppContract.NewsColumns.TITLE + " text not null, " + AppContract.NewsColumns.CONTENT + " text not null, " + AppContract.NewsColumns.IMAGE_URL + " text not null, " + AppContract.NewsColumns.CREATED_AT + " varchar(50), unique(" + AppContract.NewsColumns.NEWS_ID + ") ON CONFLICT REPLACE" + ");" ); } catch (SQLiteException exception) { Log.v(DEBUG_TAG, exception.toString()); } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // Toast.makeText(mContext, "Updating database", // Toast.LENGTH_LONG).show(); Log.w(DEBUG_TAG, "Upgrading database. Existing contents will be lost. [" + oldVersion + "]->[" + newVersion + "]"); db.execSQL("DROP TABLE IF EXISTS " + Tables.NEWS); onCreate(db); } }