class LoginActivity : BaseActivity() { private val accountList = mutableMapOf<String, String>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) supportActionBar?.hide() //记住密码功能 val prefs = getPreferences(Context.MODE_PRIVATE) val isRemember = prefs.getBoolean("remember_password", false) if (isRemember) { val account = prefs.getString("account", "") val password = prefs.getString("password", "") accountEdit.setText(account) passwordEdit.setText(password) rememberPass.isChecked = true }
时间: 2024-02-14 07:05:53 浏览: 107
}
override fun onPause() { super.onPause() //保存账户密码 val editor = getPreferences(Context.MODE_PRIVATE).edit() editor.putBoolean("remember_password", rememberPass.isChecked) editor.putString("account", accountEdit.text.toString()) editor.putString("password", passwordEdit.text.toString()) editor.apply() }
override fun onResume() { super.onResume() //恢复账户密码 val prefs = getPreferences(Context.MODE_PRIVATE) val isRemember = prefs.getBoolean("remember_password", false) if (isRemember) { val account = prefs.getString("account", "") val password = prefs.getString("password", "") accountEdit.setText(account) passwordEdit.setText(password) rememberPass.isChecked = true } }
以上是一个Kotlin语言编写的LoginActivity的部分代码,实现了记住密码的功能。在onCreate()函数中,首先获取SharedPreferences实例,并通过getBoolean()和getString()方法获取记住密码的状态和账号密码信息。在onPause()函数中,将记住密码的状态和账号密码信息保存到SharedPreferences中。在onResume()函数中,同样从SharedPreferences中获取记住密码的状态和账号密码信息,并更新到UI界面上。
需要注意的是,在这段代码中,用到了Kotlin的可空类型(Nullable Type)和安全调用运算符(?.)来避免空指针异常。同时,也体现了Kotlin的函数式编程思想,使用了高阶函数(apply()方法)和Lambda表达式。
阅读全文