MsgDBUtils(创建数据库,表,增,改,查)
时间:2021-07-01 10:21:17
帮助过:2人阅读
public class MsgDBUtils {
public static void insertConsult(Context context, JSONObject json) {
SQLiteDatabase db = context.openOrCreateDatabase(
"msg.db", Context.MODE_PRIVATE,
null);
try {
// String id = json.getString("id");
// String jid = json.getString("jid");
// String nickName = json.getString("nickname");
// String avatar = json.getString("avatar");
// String patient = json.getString("patient");
// String disease = json.getString("disease");
// String newCount = json.getString("new_msg_count");
// String msgIds = "";
// String status = "";
// String lastMsg = "";
ContentValues cv =
new ContentValues();
cv.put("id",
"1");
cv.put("jid",
"jid");
cv.put("nick_name",
"nick");
cv.put("avatar",
"avatar");
cv.put("patient",
"patient");
cv.put("disease",
"disease");
cv.put("new_counts",
"newCount");
// cv.put("msgIds", msgIds);
cv.put(
"status",
"0");
cv.put("last_msg",
"xxxxxxxxxxxxxxxxxxxxxxx");
// 插入ContentValues中的数据
db.insert(
"consult",
null, cv);
} catch (Exception e) {
e.printStackTrace();
} finally {
db.close();
}
}
public static void insertMsg(Context context, String json, String id) {
SQLiteDatabase db = context.openOrCreateDatabase(
"msg.db", Context.MODE_PRIVATE,
null);
ContentValues cv =
new ContentValues();
cv.put("json", json);
cv.put("consult_id", id);
cv.put("date",
new Date()+
"");
// 插入ContentValues中的数据
db.insert(
"message",
null, cv);
updataMsg(db, id);
setLastMsg(db, json, id);
db.close();
}
private static void updataMsg(SQLiteDatabase db, String
where) {
Cursor cursor = db.query(
"consult",
new String[] {
"new_counts",
"msg_ids" },
null,
null,
null,
null,
null);
if (cursor.moveToFirst()) {
int newCounts = cursor.getInt(cursor.getColumnIndexOrThrow(
"new_counts"));
// String msgIds =
// cursor.getString(cursor.getColumnIndexOrThrow("msg_ids"));
ContentValues cv =
new ContentValues();
cv.put("new_counts", newCounts +
1);
// cv.put("msg_ids", msgIds + "~" + where);
db.update(
"consult", cv,
"id=?",
new String[] {
where });
}
}
public static List<String>
getMessage(Context context, String id) {
List<String> list =
new ArrayList<String>
();
SQLiteDatabase db = context.openOrCreateDatabase(
"msg.db", Context.MODE_PRIVATE,
null);
Cursor cursor = db.query(
"message",
new String[] {
"json,date" },
"consult_id=?",
new String[] { id },
null,
null,
"date desc");
int s =
cursor.getCount();
while (cursor.moveToNext()) {
list.add(cursor.getString(cursor.getColumnIndexOrThrow("json")));
}
clearMsg(db, id);
return list;
}
private static void clearMsg(SQLiteDatabase db, String
where) {
ContentValues cv =
new ContentValues();
cv.put("new_counts",
0);
db.update("consult", cv,
"id=?",
new String[] {
where });
db.close();
}
public static void setLastMsg(SQLiteDatabase db, String json, String
where) {
ContentValues cv =
new ContentValues();
cv.put("last_msg", json);
// 插入ContentValues中的数据
db.update(
"consult", cv,
"id=?",
new String[] {
where });
}
public static String getLastMsg(Context context, String id) {
String message =
"";
SQLiteDatabase db = context.openOrCreateDatabase(
"msg.db", Context.MODE_PRIVATE,
null);
Cursor cursor = db.query(
"consult",
new String[] {
"last_msg" },
"id=?",
new String[] { id },
null,
null,
null);
if (cursor.moveToFirst()) {
message = cursor.getString(cursor.getColumnIndexOrThrow(
"last_msg"));
}
db.close();
return message;
}
public static void createConsultTable(SQLiteDatabase db) {
String tab_field =
"id INTEGER PRIMARY KEY," +
" jid VARCHAR(30)," +
"patient VARCHAR(10),"
+
"nick_name VARCHAR(10)," +
"avatar VARCHAR(10)," +
"disease VARCHAR(20)," +
"new_counts INTEGER,"
+
"msg_ids TEXT," +
"status INTEGER," +
"last_msg TEXT";
db.execSQL("DROP TABLE IF EXISTS consult");
db.execSQL("CREATE TABLE consult (" + tab_field +
" )");
}
public static void createMessageTable(SQLiteDatabase db) {
String tab_field =
"id INTEGER," +
"json TEXT,"
+
"consult_id INTEGER,date DATE";
db.execSQL("DROP TABLE IF EXISTS message");
db.execSQL("CREATE TABLE message (" + tab_field +
")");
}
public static void closeMsgDB(SQLiteDatabase db) {
db.close();
}
}
MsgDBUtils(创建数据库,表,增,改,查)
标签: