object SPUtils {
//①SharePreference对象(参数1:文件名 参数2:模式)
val share: SharedPreferences by lazy {
App.instance.getSharedPreferences(
"myshare",
Context.MODE_PRIVATE
)
}
//②Editor对象
val edt by lazy { share.edit() }
fun putBoolean(key: String, default: Boolean) {
edt.putBoolean(key, default).commit()
}
fun putInt(key: String, default: Int) {
edt.putInt(key, default).commit()
}
fun putString(key: String, default: String) {
edt.putString(key, default).commit()
}
fun getBoolean(key: String, default: Boolean = false): Boolean {
return share.getBoolean(key, default)
}
fun getInt(key: String, default: Int = 0): Int {
return share.getInt(key, default)
}
fun getString(key: String, default: String = ""): String? {
return share.getString(key, default)
}
}
android:name="App"
class App : Application(){
override fun onCreate() {
super.onCreate()
instance = this
}
companion object {
lateinit var instance: App
}
}
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
textview.text = SPUtils.getString(Const.KEY_HELLO, Const.HELLO1)
textview.setOnClickListener {
when (textview.text) {
Const.HELLO1 -> {
SPUtils.putString(Const.KEY_HELLO, Const.HELLO2)
textview.text = SPUtils.getString(Const.KEY_HELLO)
}
Const.HELLO2 -> {
SPUtils.putString(Const.KEY_HELLO, Const.HELLO1)
textview.text = SPUtils.getString(Const.KEY_HELLO)
}
}
}
}
}
object Const {
const val KEY_HELLO = "key_hello"
const val HELLO1 = "hello1"
const val HELLO2 = "hello2"
}