package com.jasonchen.microlang.database; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.text.TextUtils; import com.google.gson.Gson; import com.jasonchen.microlang.beans.GroupListBean; import com.jasonchen.microlang.database.table.GroupTable; import com.jasonchen.microlang.database.table.HomeTable; /** * jasonchen * 2015/04/10 */ public class GroupDBTask { private GroupDBTask() { } private static SQLiteDatabase getWsd() { DatabaseHelper databaseHelper = DatabaseHelper.getInstance(); return databaseHelper.getWritableDatabase(); } private static SQLiteDatabase getRsd() { DatabaseHelper databaseHelper = DatabaseHelper.getInstance(); return databaseHelper.getReadableDatabase(); } public static GroupListBean get(String accountId) { String sql = "select * from " + GroupTable.TABLE_NAME + " where " + GroupTable.ACCOUNTID + " = " + accountId; Cursor c = getRsd().rawQuery(sql, null); if (c.moveToNext()) { String json = c.getString(c.getColumnIndex(GroupTable.JSONDATA)); if (!TextUtils.isEmpty(json)) { GroupListBean bean = new Gson().fromJson(json, GroupListBean.class); if (bean != null) { return bean; } } } return null; } public static void update(GroupListBean bean, String accountId) { if (bean == null || bean.getLists().size() == 0) { return; } clearGroup(accountId); ContentValues cv = new ContentValues(); cv.put(GroupTable.ACCOUNTID, accountId); cv.put(GroupTable.JSONDATA, new Gson().toJson(bean)); getWsd().insert(GroupTable.TABLE_NAME, HomeTable.ID, cv); } private static void clearGroup(String accountId) { String sql = "delete from " + GroupTable.TABLE_NAME + " where " + GroupTable.ACCOUNTID + " = " + "\"" + accountId + "\""; getWsd().execSQL(sql); } }