tt-rss-android/src/org/fox/ttrss/DatabaseHelper.java

60 lines
2.0 KiB
Java
Raw Normal View History

2011-12-05 12:42:31 +00:00
package org.fox.ttrss;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
public class DatabaseHelper extends SQLiteOpenHelper {
private final String TAG = this.getClass().getSimpleName();
2011-12-06 06:16:41 +00:00
public static final String DATABASE_NAME = "OfflineStorage.db";
2011-12-05 12:42:31 +00:00
public static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("DROP TABLE IF EXISTS feeds;");
db.execSQL("DROP TABLE IF EXISTS articles;");
db.execSQL("DROP VIEW IF EXISTS feeds_unread;");
db.execSQL("CREATE TABLE IF NOT EXISTS feeds (" +
BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
"feed_url TEXT, " +
"title TEXT, " +
"has_icon BOOLEAN, " +
2011-12-05 13:01:44 +00:00
"cat_id INTEGER" +
2011-12-05 12:42:31 +00:00
");");
db.execSQL("CREATE TABLE IF NOT EXISTS articles (" +
BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
"unread BOOLEAN, " +
"marked BOOLEAN, " +
"published BOOLEAN, " +
"updated INTEGER, " +
"is_updated BOOLEAN, " +
"title TEXT, " +
"link TEXT, " +
"feed_id INTEGER, " +
"tags TEXT, " +
2011-12-06 06:16:41 +00:00
"content TEXT," +
"selected BOOLEAN" +
2011-12-05 12:42:31 +00:00
");");
db.execSQL("CREATE VIEW feeds_unread AS SELECT feeds."+BaseColumns._ID+" AS "+BaseColumns._ID+", " +
"feeds.title AS title, " +
"SUM(articles.unread) AS unread FROM feeds " +
"LEFT JOIN articles ON (articles.feed_id = feeds."+BaseColumns._ID+") " +
"GROUP BY feeds."+BaseColumns._ID+", feeds.title;");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onCreate(db);
}
}