Skip to content

Instantly share code, notes, and snippets.

@abircse
Last active February 15, 2021 14:02
Show Gist options
  • Save abircse/74ba12b6f27a0d7867ab17fc25517fa7 to your computer and use it in GitHub Desktop.
Save abircse/74ba12b6f27a0d7867ab17fc25517fa7 to your computer and use it in GitHub Desktop.
SharedPreferenceUtils
class BaseSharedPreference(context: Context) {
var preferences: SharedPreferences =
context.getSharedPreferences("your_choosen_preference_name", Context.MODE_PRIVATE)
fun putData(key: String, data: Any) {
preferences.let { pref ->
try {
when (data) {
is String -> pref.edit().putString(key, data).apply()
is Int -> pref.edit().putInt(key, data).apply()
is Boolean -> pref.edit().putBoolean(key, data).apply()
is Float -> pref.edit().putFloat(key, data).apply()
else -> null
}
} catch (e: Exception) {
Log.d("TAG", e.message!!)
}
}
}
fun getStringData(key: String): String? {
return preferences.getString(key, "")
}
fun getIntData(key: String): Int? {
return preferences.getInt(key, 0)
}
fun getBooleanData(key: String): Boolean? {
return preferences.getBoolean(key, false)
}
fun getFloatData(key: String): Float? {
return preferences.getFloat(key, 0f)
}
fun clear() {
preferences.edit().clear().apply()
}
fun clearSingleValue(key: String) {
preferences.edit().remove(key).apply()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment