package com.ztspeech.simutalk2.data;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
public class MsgGroupTable extends DBTable {
public MsgGroupTable() {
tableName = " message ";
}
private static MsgGroupTable mInstance = null;
public static MsgGroupTable getInstance() {
if (mInstance == null) {
mInstance = new MsgGroupTable();
}
return mInstance;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS " + tableName
+ "(dataid integer primary key,"
+ " function varchar(20),"
+ " link_id integer, type varchar(20),"
+ " sender_id varchar(20), state integer,"
+ " sender_name varchar(50), look_over varchar(2),"
+ " msg_time integer, text varchar(250),"
+ " sound_length integer,sound varchar(64))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// db.execSQL("DROP TABLE IF EXISTS "+ tableName);
// onCreate(db);
}
public boolean addToDB(MsgInfoData data) {
SQLiteDatabase writer = getWritableDatabase();
data.id = MsgInfoData.getNewId();
ContentValues cv =new ContentValues();
cv.put("dataid", data.id);
cv.put("function", data.getCmd());
cv.put("link_id", data.linkId);
cv.put("type", data.type+"");
cv.put("sender_id", data.senderId);
cv.put("sender_name", data.name);
cv.put("look_over", data.look_over);
cv.put("msg_time", data.time.getTime());
cv.put("text", data.text);
cv.put("state", data.state);
cv.put("sound_length", data.vLen);
cv.put("sound", data.vId);
writer.insert(tableName, null, cv);
return true;
}
public boolean setDBLookover(long id) {
SQLiteDatabase writer = this.getWritableDatabase();
writer.execSQL(
"update " + tableName + " set look_over = 1 where dataid =?",
new Object[] {id});
return true;
}
public void deleteMsg(long id) {
SQLiteDatabase writer = this.getWritableDatabase();
writer.execSQL("delete from " + tableName + " where look_over = 1 and dataid=?",
new Object[] { id });
}
public boolean setState(long linkId, int state) {
SQLiteDatabase writer = this.getWritableDatabase();
writer.execSQL(
"update " + tableName + " set state =? where link_id =?",
new Object[] {state,linkId});
return true;
}
public void clearDialog(String dialog) {
SQLiteDatabase writer = this.getWritableDatabase();
writer.execSQL("delete from " + tableName + " where dialog=?",
new Object[] { dialog });
}
public void clearMsgByUser(String user){
SQLiteDatabase writer = this.getWritableDatabase();
writer.execSQL("delete from " + tableName + " where look_over = 1 and user_id=?",
new Object[] { user });
}
public void clearMsgBySenderId(long linkId) {
SQLiteDatabase writer = this.getWritableDatabase();
writer.execSQL("delete from " + tableName + " where link_id=?",
new Object[] { linkId });
}
public void clearMsg() {
SQLiteDatabase writer = this.getWritableDatabase();
writer.execSQL("delete from " + tableName + " where look_over = ?", new Object[] { 1 });
}
public void deleteLookOverMsg(long linkId) {
SQLiteDatabase writer = this.getWritableDatabase();
writer.execSQL("delete from " + tableName + " where look_over = 1 and link_id=?",
new Object[] { linkId });
}
public boolean setUserName(int senderId, String name) {
SQLiteDatabase writer = this.getWritableDatabase();
writer.execSQL(
"update " + tableName + " set sender_name =? where sender_id =?",
new Object[] {name,senderId});
return true;
}
}