DatabaseHelper.java 源代码
package common;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import utils.HiLogcatUtil;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DB_VERSION = 19;
private static final String SQLCMD_ALTER_TABLE_ALARM = "ALTER TABLE device ADD dev_alarmState INTEGER";
private static final String SQLCMD_ALTER_TABLE_PUSH = "ALTER TABLE device ADD dev_pushState INTEGER";
private static final String SQLCMD_ALTER_TABLE_SERVER = "ALTER TABLE device ADD dev_serverData VARCHAR(30) NULL";
private static final String SQLCMD_CREATE_TABLE_ALARM_EVENT = "CREATE TABLE alarm_event (_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT , dev_uid VARCHAR(20) NULL , time INTEGER ,type INTEGER ) ";
private static final String SQLCMD_CREATE_TABLE_DEVICE = "CREATE TABLE device(_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, dev_nickname\t\t\tNVARCHAR(30) NULL, dev_uid\t\t\t\tVARCHAR(20) NULL, dev_name\t\t\t\tVARCHAR(30) NULL, dev_pwd\t\t\t\tVARCHAR(30) NULL, view_acc\t\t\t\tVARCHAR(30) NULL, view_pwd\t\t\t\tVARCHAR(30) NULL, event_notification \tINTEGER, ask_format_sdcard\t\tINTEGER,camera_channel\t\t\tINTEGER, snapshot\t\t\t\tBLOB,dev_videoQuality\t\t\t\tINTEGER,dev_alarmState INTEGER,dev_pushState INTEGER,dev_serverData VARCHAR(30) NULL,user VARCHAR(30) NULL,camera_level INTEGER);";
private static final String SQLCMD_CREATE_TABLE_FOUR_LIVE = "CREATE TABLE four_live(_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, groupId\t\t\t\tVARCHAR(30) NULL, groupName\t\t\t\tVARCHAR(30) NULL, camera1\t\t\t\tVARCHAR(30) NULL, camera2\t\t\t\tVARCHAR(30) NULL, camera3\t\t\t\tVARCHAR(30) NULL, camera4\t\t\t\tVARCHAR(30) NULL ,user VARCHAR(30) NULL);";
private static final String SQLCMD_CREATE_TABLE_ONEKEY = "CREATE TABLE one_key(_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, dev_uid\t\t\t\tVARCHAR(20) NULL, dev_company\t\t\t\tVARCHAR(30) NULL, dev_remark\t\t\t\tVARCHAR(30) NULL, add_time\t\t\t\tVARCHAR(30) NULL, amount\t\t\t\tVARCHAR(30) NULL, status \tINTEGER, reserve\t\t\tVARCHAR(30) NULL,order_no\t\t\tVARCHAR(30) NULL);";
private static final String SQLCMD_CREATE_TABLE_RF_ALARM = "CREATE TABLE RF_alarm_evrnt(_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, time\t\t\ttext NOT NULL, dev_uid\t\ttext NOT NULL, );";
private static final String SQLCMD_DROP_TABLE_DEVICE = "drop table if exists device;";
public static final String TABLE_ALARM_EVENT = "alarm_event";
public static final String TABLE_DEVICE = "device";
private static final String TABLE_FOUR_LIVE = "four_live";
public static final String TABLE_ONE_KEY = "one_key";
public static final String TABLE_RF_ALARM_EVENT = "RF_alarm_evrnt";
private static DatabaseHelper mInstance;
public DatabaseHelper(Context context) {
super(context, HiDataValue.DB_NAME, (SQLiteDatabase.CursorFactory) null, 19);
}
public static synchronized DatabaseHelper getInstance(Context context) {
DatabaseHelper databaseHelper;
synchronized (DatabaseHelper.class) {
if (mInstance == null) {
mInstance = new DatabaseHelper(context);
}
databaseHelper = mInstance;
}
return databaseHelper;
}
public static synchronized void destoryInstance() {
synchronized (DatabaseHelper.class) {
DatabaseHelper databaseHelper = mInstance;
if (databaseHelper != null) {
databaseHelper.close();
}
}
}
@Override
public void onCreate(SQLiteDatabase sQLiteDatabase) {
sQLiteDatabase.execSQL(SQLCMD_CREATE_TABLE_DEVICE);
sQLiteDatabase.execSQL(SQLCMD_CREATE_TABLE_ALARM_EVENT);
sQLiteDatabase.execSQL(SQLCMD_CREATE_TABLE_ONEKEY);
sQLiteDatabase.execSQL(SQLCMD_CREATE_TABLE_FOUR_LIVE);
}
@Override
public void onUpgrade(SQLiteDatabase sQLiteDatabase, int i, int i2) {
HiLogcatUtil.d("oldVersion: " + i + "---newVersion: " + i2);
if (sQLiteDatabase.getVersion() <= 8) {
sQLiteDatabase.execSQL(SQLCMD_ALTER_TABLE_ALARM);
sQLiteDatabase.execSQL(SQLCMD_ALTER_TABLE_PUSH);
}
if (sQLiteDatabase.getVersion() <= 9) {
sQLiteDatabase.execSQL(SQLCMD_ALTER_TABLE_SERVER);
}
if (i2 == 17) {
sQLiteDatabase.execSQL(SQLCMD_CREATE_TABLE_ONEKEY);
}
if (i2 == 18) {
sQLiteDatabase.execSQL(SQLCMD_CREATE_TABLE_FOUR_LIVE);
}
if (i2 == 19) {
sQLiteDatabase.execSQL("ALTER TABLE device ADD COLUMN user VARCHAR(30) NOT NULL default \"\"");
sQLiteDatabase.execSQL("ALTER TABLE device ADD COLUMN camera_level INTEGER(4) NOT NULL default 1");
sQLiteDatabase.execSQL("ALTER TABLE four_live ADD COLUMN user VARCHAR(30) NOT NULL default \"\"");
}
}
@Override
public void onDowngrade(SQLiteDatabase sQLiteDatabase, int i, int i2) {
super.onDowngrade(sQLiteDatabase, i, i2);
}
}