例子一:
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class SQLiteDbHelper extends SQLiteOpenHelper{
public SQLiteDbHelper(Context context, String name, CursorFactory factory,int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
public SQLiteDbHelper(Context context, String name,int version) {
this(context, name, null, version);
// TODO Auto-generated constructor stub
}
public SQLiteDbHelper(Context context) {
this(context, DBConstants.DATABASE_NAME, DBConstants.DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
createSingleChat(db);
createGroupChat(db);
createMe(db);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
/** 创建单聊数据库*/
private void createSingleChat(SQLiteDatabase db) {
String sql="create table if not exists "+DBConstants.DB_CHAT_SINGLE+"("
+ DBConstants.DB_CHAT_SINGLE_id +" integer primary key autoincrement,"
+ DBConstants.DB_CHAT_SINGLE_ID_MECOUNT+" text default ' ',"//设置默认值是空格
+ DBConstants.DB_CHAT_SINGLE_ID_PEARCOUNT+" text,"
+ DBConstants.DB_CHAT_SINGLE_ID_MSG+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_ID_MSG_CONVERSATION+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_ID_IMDNMSG+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_ID_FILETRANS+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_MSG_TIME+" integer default 0 ,"// 时间按照integer 进行存储,数据传递过来的数据格式是:yyyy-MM-dd HH:mm:ss
+ DBConstants.DB_CHAT_SINGLE_TIMEZONEID+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_MSG_DIRECTION+" integer default 0,"
+ DBConstants.DB_CHAT_SINGLE_MSG_STATE+" integer default 0,"
+ DBConstants.DB_CHAT_SINGLE_MSG_TYPE+" integer default 0,"
+ DBConstants.DB_CHAT_SINGLE_PARAM1+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_PARAM2+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_PARAM3+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_FILE_SIZE+" integer default 0,"
+ DBConstants.DB_CHAT_SINGLE_FILE_TRANS_SIZE+" integer default 0,"
+ DBConstants.DB_CHAT_SINGLE_FILE_THUMB_PATH+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_RECEIPT_TYPE+" integer default 0,"
+ DBConstants.DB_CHAT_SINGLE_PROGRESS+" integer default 0,"
+ DBConstants.DB_CHAT_SINGLE_NAME+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_HEAD_ICON_PATH+" text default ' ',"
+ DBConstants.DB_CHAT_SINGLE_MSG_SOURCE+" integer default 0,"
+ DBConstants.DB_CHAT_SINGLE_RSP_TIME+" text default ' ')";
MyLog.d("Mine 数据库", sql);
db.execSQL(sql);
}
/** 创建群聊数据库*/
private void createGroupChat(SQLiteDatabase db) {
}
/** 创建我的数据库*/
private void createMe(SQLiteDatabase db) {
}
}
注释:
创建方法:
private void createTable(SQLiteDatabase db) {
StringBuffer buffer = new StringBuffer();
buffer.append("CREATE TABLE '" + Constants.TABLE_CONTACTS + "' ( ");
buffer.append("'" + Constants.CONTACTSID + "' INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, ");// id
buffer.append(" '" + Constants.MAILCONTACTSNAME + "' varchar(30) ,");
buffer.append("'" + Constants.MAILBOX + "' varchar(30) , ");
buffer.append("'" + Constants.CONTACTS_id + "' varchar(30) , ");
buffer.append("'" + Constants.SORT + "' varchar(30), ");
buffer.append("'" + Constants.REMARKS + "' varchar(30))");
db.execSQL(buffer.toString());
}
/**
* 创建 "我" 的设置 列表
* @param db
*/
private void createMineTable(SQLiteDatabase db){
String sql="create table if not exists "+Constants.TABLE_MINE+"("
+ Constants.CONTACTSID +" integer primary key autoincrement,"
+ Constants.TABLE_MINE_COUNT+" text default ' ',"//设置默认值是空格
+ Constants.TABLE_MINE_HEAD+" text,"
+ Constants.TABLE_MINE_NICK+" text default ' ',"
+ Constants.TABLE_MINE_PHONE+" text default ' ',"
+ Constants.TABLE_MINE_COMPANY+" text default ' ',"
+ Constants.TABLE_MINE_CAPACITY+" text default ' ',"
+ Constants.TABLE_MINE_ISPUSH+" integer default 0,"//默认不开启推送
+ Constants.TABLE_MINE_SIGN+" text default ' ')";
MyLog.d("Mine 数据库", sql);
db.execSQL(sql);
}