package com.yaoyumeng.v2ex.database; /** * Created by yw on 2015/5/12. */ import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public final class DatabaseHelper extends SQLiteOpenHelper { //db public static final String DB_NAME = "v2ex.db"; public static final int DB_VERSION = 6; // 话题数据表(话题ID,收藏状态,阅读状态) public static final String TOPIC_TABLE_NAME = "topics_table"; public static final String TOPIC_COLUMN_ID = "_id"; public static final String TOPIC_COLUMN_TOPICID = "topic_id"; public static final String TOPIC_COLUMN_FAVOR = "isfavored"; public static final String TOPIC_COLUMN_READ = "isread"; private static final String TOPIC_TABLE_CREATE = "CREATE TABLE " + TOPIC_TABLE_NAME + "(" + TOPIC_COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + TOPIC_COLUMN_TOPICID + " INTEGER UNIQUE NOT NULL, " + TOPIC_COLUMN_READ + " INTEGER NOT NULL, " + TOPIC_COLUMN_FAVOR + " INTEGER NOT NULL);"; //节点数据表(节点ID,收藏状态) public static final String NODE_TABLE_NAME = "nodes_table"; public static final String NODE_COLUMN_ID = "_id"; public static final String NODE_COLUMN_NODENAME = "node_name"; public static final String NODE_COLUMN_ISFAVOR = "isfavored"; private static final String NODE_TABLE_CREATE = "CREATE TABLE " + NODE_TABLE_NAME + "(" + NODE_COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + NODE_COLUMN_NODENAME + " CHAR(256) UNIQUE NOT NULL, " + NODE_COLUMN_ISFAVOR + " INTEGER NOT NULL);"; private volatile static DatabaseHelper mDBHelper; private DatabaseHelper(Context context) { super(context, DB_NAME, null, DB_VERSION); } public static synchronized DatabaseHelper getInstance(Context context) { if (mDBHelper == null) { synchronized (DatabaseHelper.class) { if (mDBHelper == null) { mDBHelper = new DatabaseHelper(context); } } } return mDBHelper; } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(TOPIC_TABLE_CREATE); db.execSQL(NODE_TABLE_CREATE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS " + TOPIC_TABLE_NAME); db.execSQL("DROP TABLE IF EXISTS " + NODE_TABLE_NAME); onCreate(db); } }