프로그래밍/Kotlin
[Kotlin] 안드로이드 자동로그인 코드
Youngs_
2021. 12. 9. 08:23
자동로그인 정보가 저장되는 경로 : /data/data/{packageName}/shared_prefs/{keyName}.xml
-> Device file explore에서 찾는다.
binding.checkboxSaveLoginInfo는 체크박스, userid와 password는 edittext이다
private lateinit var sharedPreferences : SharedPreferences
private lateinit var editor : SharedPreferences.Editor
override fun onCreate(savedInstanceState: Bundle?) {
..
sharedPreferences = getSharedPreferences("loginInfo", MODE_PRIVATE)
editor = sharedPreferences.edit()
..
}
값을 가져오는 코드
binding.checkboxSaveLoginInfo!!.isChecked = sharedPreferences.getBoolean(getString(R.string.auto_login),false)
binding.userid!!.setText(sharedPreferences.getString(getString(R.string.auto_login_id),""))
binding.password.setText(sharedPreferences.getString(getString(R.string.auto_login_password),""))
// get 뒤에 key값과 defaultValue 두가지를 써야하는데
// key 값이 null일 경우 반환할 defaultValue 값을 지정해주는 것이다.
값을 저장하는 코드
if (binding.checkboxSaveLoginInfo!!.isChecked) { // 자동로그인이 클릭되었을때
editor.putString(
getString(R.string.auto_login_id),
binding.userid!!.text.toString()
)
editor.putString(
getString(R.string.auto_login_password),
binding.password.text.toString()
)
editor.commit()
} else {
editor.putString(getString(R.string.auto_login_id), "")
editor.putString(getString(R.string.auto_login_password), "")
editor.commit()
}
// commit()을 반드시 해줘야 저장을한다.