更新 CIMCacheToolkit.java

This commit is contained in:
远方夕阳 2016-12-22 14:53:26 +08:00
parent 7cb3c4828d
commit 3b4ad5b1e3

View File

@ -1,130 +1,142 @@
/** /**
* probject:cim-android-sdk * probject:cim-android-sdk
* @version 2.1.0 * @version 2.1.0
* *
* @author 3979434@qq.com * @author 3979434@qq.com
*/ */
package com.farsunset.cim.sdk.android; package com.farsunset.cim.sdk.android;
import android.content.Context; import android.content.Context;
import android.database.Cursor; import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteOpenHelper;
class CIMCacheToolkit extends SQLiteOpenHelper { class CIMCacheToolkit extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "CIM_CONFIG_INFO.db"; private static final String DATABASE_NAME = "CIM_CONFIG_INFO.db";
private static final int DATABASE_VERSION = 20160406; private static final int DATABASE_VERSION = 20160406;
private static final String TABLE_SQL = "CREATE TABLE IF NOT EXISTS T_CIM_CONFIG (KEY VARCHAR(64) PRIMARY KEY,VALUE TEXT)"; private static final String TABLE_SQL = "CREATE TABLE IF NOT EXISTS T_CIM_CONFIG (KEY VARCHAR(64) PRIMARY KEY,VALUE TEXT)";
private static final String DELETE_SQL = "DELETE FROM T_CIM_CONFIG WHERE KEY = ?"; private static final String DELETE_SQL = "DELETE FROM T_CIM_CONFIG WHERE KEY = ?";
private static final String SAVE_SQL = "INSERT INTO T_CIM_CONFIG (KEY,VALUE) VALUES(?,?)"; private static final String SAVE_SQL = "INSERT INTO T_CIM_CONFIG (KEY,VALUE) VALUES(?,?)";
private static final String QUERY_SQL = "SELECT VALUE FROM T_CIM_CONFIG WHERE KEY = ?"; private static final String QUERY_SQL = "SELECT VALUE FROM T_CIM_CONFIG WHERE KEY = ?";
public static final String CIM_CONFIG_INFO = "CIM_CONFIG_INFO"; public static final String CIM_CONFIG_INFO = "CIM_CONFIG_INFO";
public static final String KEY_ACCOUNT = "KEY_ACCOUNT"; public static final String KEY_ACCOUNT = "KEY_ACCOUNT";
public static final String KEY_MANUAL_STOP = "KEY_MANUAL_STOP"; public static final String KEY_MANUAL_STOP = "KEY_MANUAL_STOP";
public static final String KEY_CIM_DESTROYED = "KEY_CIM_DESTROYED"; public static final String KEY_CIM_DESTROYED = "KEY_CIM_DESTROYED";
public static final String KEY_CIM_SERVIER_HOST = "KEY_CIM_SERVIER_HOST"; public static final String KEY_CIM_SERVIER_HOST = "KEY_CIM_SERVIER_HOST";
public static final String KEY_CIM_SERVIER_PORT = "KEY_CIM_SERVIER_PORT"; public static final String KEY_CIM_SERVIER_PORT = "KEY_CIM_SERVIER_PORT";
public static final String KEY_CIM_CONNECTION_STATE = "KEY_CIM_CONNECTION_STATE"; public static final String KEY_CIM_CONNECTION_STATE = "KEY_CIM_CONNECTION_STATE";
static CIMCacheToolkit toolkit; static CIMCacheToolkit toolkit;
public static CIMCacheToolkit getInstance(Context context){ private SQLiteDatabase mSQLiteDatabase;
if (toolkit==null){ public synchronized static CIMCacheToolkit getInstance(Context context){
toolkit = new CIMCacheToolkit(context); if (toolkit==null){
} toolkit = new CIMCacheToolkit(context);
return toolkit; }
} return toolkit;
public CIMCacheToolkit(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { }
super(context, name, factory, version);
}
public CIMCacheToolkit(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
public CIMCacheToolkit(Context context){ super(context, name, factory, version);
this(context, DATABASE_NAME,null, DATABASE_VERSION); }
}
public CIMCacheToolkit(Context context){
this(context, DATABASE_NAME,null, DATABASE_VERSION);
}
public void remove(String key)
{
SQLiteDatabase database = toolkit.getWritableDatabase();
database.execSQL(DELETE_SQL,new String[]{key}); public synchronized void remove(String key)
database.close(); {
toolkit.close(); getSQLiteDatabase().execSQL(DELETE_SQL,new String[]{key});
toolkit = null; }
}
public synchronized void putString(String key,String value)
public void putString(String key,String value) {
{ getSQLiteDatabase().execSQL(DELETE_SQL,new String[]{key});
SQLiteDatabase database = toolkit.getWritableDatabase(); getSQLiteDatabase().execSQL(SAVE_SQL, new String[]{key, value});
database.execSQL(DELETE_SQL,new String[]{key});
database.execSQL(SAVE_SQL, new String[]{key, value}); }
database.close();
public synchronized String getString(String key)
toolkit.close(); {
toolkit = null; String value = null;
Cursor cursor = getSQLiteDatabase().rawQuery(QUERY_SQL, new String[]{key});
} if (cursor!=null&&cursor.moveToFirst())
{
public String getString(String key) value = cursor.getString(0);
{ cursor.close();
String value = null; }
SQLiteDatabase database = toolkit.getWritableDatabase();
Cursor cursor = database.rawQuery(QUERY_SQL, new String[]{key});
if (cursor!=null&&cursor.moveToFirst())
{ return value;
value = cursor.getString(0); }
}
public void putBoolean(String key,boolean value)
cursor.close(); {
database.close(); putString(key,Boolean.toString(value));
toolkit.close(); }
toolkit = null;
public boolean getBoolean(String key)
return value; {
} String value = getString(key);
return value == null?false:Boolean.parseBoolean(value);
public void putBoolean(String key,boolean value) }
{
putString(key,Boolean.toString(value));
} public void putInt(String key,int value)
{
public boolean getBoolean(String key) putString(key, String.valueOf(value));
{ }
String value = getString(key);
return value == null?false:Boolean.parseBoolean(value); public int getInt(String key)
} {
String value = getString(key);
return value == null?0:Integer.parseInt(value);
public void putInt(String key,int value) }
{
putString(key, String.valueOf(value)); @Override
} public void onCreate(SQLiteDatabase database) {
database.execSQL(TABLE_SQL);
public int getInt(String key) }
{
String value = getString(key);
return value == null?0:Integer.parseInt(value); public static synchronized void destroy(){
} if (toolkit!=null){
try{toolkit.mSQLiteDatabase.close();}catch(Exception e){}
@Override try{toolkit.close();}catch(Exception e){}
public void onCreate(SQLiteDatabase database) { }
database.execSQL(TABLE_SQL);
} }
@Override
public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) { private SQLiteDatabase getSQLiteDatabase(){
if(mSQLiteDatabase!=null){
} return mSQLiteDatabase;
} }else
{
mSQLiteDatabase = getWritableDatabase();
}
return mSQLiteDatabase;
}
@Override
public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {
}
}