android-app/app/src/main/java/fr/gaulupeau/apps/Poche/ArticlesSQLiteOpenHelper.java

79 lines
2.7 KiB
Java

package fr.gaulupeau.apps.Poche;
import android.content.Context;
import android.content.SharedPreferences;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import static fr.gaulupeau.apps.Poche.Helpers.PREFS_NAME;
import static fr.gaulupeau.apps.Poche.Helpers.zeroUpdate;
public class ArticlesSQLiteOpenHelper extends SQLiteOpenHelper {
public static final int VERSION = 1;
public static final String DB_NAME = "article_db.sqlite";
public static String MY_ID = "my_id";
public static String ARTICLE_TABLE = "article";
public static String ARTICLE_DATE = "update_date";
public static String ARTICLE_ID = "article_id";
public static String ARTICLE_AUTHOR = "author";
public static String ARTICLE_CONTENT = "content";
public static String ARTICLE_TITLE = "title";
public static String ARTICLE_URL = "url";
public static String ARCHIVE = "archive";
public static String ARTICLE_SYNC = "sync";
public static String ARTICLE_READAT = "read_at";
Context c;
public ArticlesSQLiteOpenHelper(Context context) {
super(context, DB_NAME, null, VERSION);
c = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
createTables(db);
}
@Override
public void onOpen(SQLiteDatabase db) {
// TODO Auto-generated method stub
super.onOpen(db);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.delete(ARTICLE_TABLE, null, null);
SharedPreferences preferences = c.getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("previous_update", zeroUpdate);
editor.commit();
}
protected void createTables(SQLiteDatabase db) {
db.execSQL(
"create table " + ARTICLE_TABLE + " (" +
MY_ID + " integer primary key autoincrement not null, " +
ARTICLE_AUTHOR + " text, " +
ARTICLE_DATE + " datetime, " +
ARTICLE_CONTENT + " text, " +
ARTICLE_TITLE + " text, " +
ARTICLE_URL + " text, " +
ARTICLE_ID + " integer, " +
ARCHIVE + " integer," +
ARTICLE_SYNC + " integer," +
ARTICLE_READAT + " integer," +
"UNIQUE (" + ARTICLE_URL + ")" +
");"
);
}
public void truncateTables(SQLiteDatabase db) {
db.execSQL("DELETE FROM " + ARTICLE_TABLE + ";");
}
}