package com.example.slidingmenu.yujing.client.database; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import com.example.slidingmenu.yujing.client.database.table.Friend; import com.example.slidingmenu.yujing.client.database.table.PrivateLetter; import com.example.slidingmenu.yujing.client.database.table.Topic; /** * SQLiteOpenHelper是SQLite的数据库辅助类,SQliteOpenHelper是一个抽象类,用来管理数据库的创建和版本的管理 * */ public class DatabaseHelper extends SQLiteOpenHelper{ /** * 构造方法,创建数据库 * @param context * @param name 数据库名 * @param factory 游标类 * @param version 数据库版本 */ public DatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } /** * 创建接口 * 实现各表的创建 */ public static interface TableCreateInterface { /** * 创建表 * @param db */ public void onCreate(SQLiteDatabase db); /** * 更新表 * @param db * @param oldVersion * @param newVersion */ public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion); } @Override public void onCreate(SQLiteDatabase db) { Topic.getInstance().onCreate(db); PrivateLetter.getInstance().onCreate(db); Friend.getInstance().onCreate(db); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Topic.getInstance().onUpgrade(db, oldVersion, newVersion); PrivateLetter.getInstance().onUpgrade(db, oldVersion, newVersion); Friend.getInstance().onUpgrade(db, oldVersion, newVersion); } }