SharedPreference简便写法
kotlin
写法1:
val sp = ConstantsConfig.getContext().getSharedPreferences("xxx", 0)
var userTerminal = sp.getString(KEY_USER_XXX, "?")!!
set(value) {
if (value != field) {
sp.edit().putString(KEY_USER_XXX, value).apply()
field = value
}
}
写法2:
@SuppressLint("SharedPreferences")
private val sp: SharedPreferences = MainApplication.application.getSharedPreferences("out_escort", Context.MODE_PRIVATE)
fun setString(entry: String, value: String) = sp.edit().putString(entry, value).commit()
fun setBoolean(entry: String, value: Boolean) = sp.edit().putBoolean(entry, value).commit()
...
调用:
fun setXXXInfo(xxx: String) = setString(XXX_INFO, xxx)
fun getXXXInfo() = getString(XXX_INFO)
fun clearXXXInfo() = clear(XXX_INFO)
fun setXxx(xxx: XXX) {
this.xxx = xxx
AppPreferences.setXxx(JsonUtil.toJson(xxx))
}
fun geXxx(): Xxx? {
this.xxx?.let {
return it
}?: run{
val json = AppPreferences.getXxx()
if (!TextUtils.isEmpty(json)) {
xxx = JsonUtil.fromJson(json!!, Xxx::class.java)
}
}
return xxx
}