Created
September 26, 2010 06:11
-
-
Save koush/597649 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.koushikdutta.rommanager; | |
import android.content.ContentValues; | |
import android.content.Context; | |
import android.database.Cursor; | |
import android.database.sqlite.SQLiteDatabase; | |
import android.database.sqlite.SQLiteOpenHelper; | |
public class Settings | |
{ | |
SQLiteDatabase mDatabase; | |
Context mContext; | |
private Settings(Context context) | |
{ | |
mContext = context; | |
SQLiteOpenHelper helper = new SQLiteOpenHelper(mContext, "settings.db", null, 1) | |
{ | |
private final static String mDDL = "CREATE TABLE settings (key TEXT PRIMARY KEY, value TEXT);"; | |
@Override | |
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { | |
onCreate(db); | |
} | |
@Override | |
public void onCreate(SQLiteDatabase db) { | |
db.execSQL(mDDL); | |
} | |
}; | |
mDatabase = helper.getWritableDatabase(); | |
} | |
private static Settings mInstance; | |
public static Settings getInstance(Context context) { | |
if (mInstance == null) { | |
mInstance = new Settings(context); | |
} | |
return mInstance; | |
} | |
public void setString(String name, String value) | |
{ | |
ContentValues cv = new ContentValues(); | |
cv.put("key", name); | |
cv.put("value", value); | |
mDatabase.delete("settings", "key='" + name + "'", null); | |
mDatabase.insert("settings", null, cv); | |
} | |
public String getString(String name) | |
{ | |
return getString(name, null); | |
} | |
public String getString(String name, String defaultValue) | |
{ | |
Cursor cursor = mDatabase.query("settings", new String[] { "value" }, "key='" + name + "'", null, null, null, null); | |
try | |
{ | |
if (cursor.moveToNext()) | |
return cursor.getString(0); | |
} | |
finally | |
{ | |
cursor.close(); | |
} | |
return defaultValue; | |
} | |
public void setInt(String name, int value) | |
{ | |
setString(name, ((Integer)value).toString()); | |
} | |
public int getInt(String name, int defaultValue) | |
{ | |
try | |
{ | |
return Integer.parseInt(getString(name, null)); | |
} | |
catch(Exception ex) | |
{ | |
return defaultValue; | |
} | |
} | |
public void setLong(String name, long value) | |
{ | |
setString(name, ((Long)value).toString()); | |
} | |
public long getLong(String name, long defaultValue) | |
{ | |
try | |
{ | |
return Long.parseLong(getString(name, null)); | |
} | |
catch(Exception ex) | |
{ | |
return defaultValue; | |
} | |
} | |
public void setBoolean(String name, boolean value) | |
{ | |
setString(name, ((Boolean)value).toString()); | |
} | |
public boolean getBoolean(String name, boolean defaultValue) | |
{ | |
try | |
{ | |
return Boolean.parseBoolean(getString(name, ((Boolean)defaultValue).toString())); | |
} | |
catch(Exception ex) | |
{ | |
ex.printStackTrace(); | |
return defaultValue; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment