var backPressTime by Delegates.observable(0L) { pre, old, new ->
if (new - old < 2000) {
println("退出")
} else {
//show toast 再按返回键就退出
println("else")
}
}
fun onDoubleClick() {
backPressTime = System.currentTimeMillis()
}
SharedPreferencesUtils
object SharedPreferencesUtils {
//设置一个单例的 preferences
var preferences: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(BaseApplication.getApplication())
var appName by SharedPreferenceDelegates.string("defaultValue")
}
private object SharedPreferenceDelegates {
fun string(defaultValue: String = "") = object : ReadWriteProperty<SharedPreferencesUtils, String> {
override fun getValue(thisRef: SharedPreferencesUtils, property: KProperty<*>): String {
return thisRef.preferences.getString(property.name, defaultValue) ?: ""
}
override fun setValue(thisRef: SharedPreferencesUtils, property: KProperty<*>, value: String) {
thisRef.preferences.edit().putString(property.name, value).apply()
}
}
}