자동로그인 정보가 저장되는 경로 : /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()을 반드시 해줘야 저장을한다.
'프로그래밍 > Kotlin' 카테고리의 다른 글
안드로이드 RecyclerView 사용법 (0) | 2021.12.12 |
---|---|
[Kotlin] progressbar 진행시 터치 불가능하도록 설정 (0) | 2021.12.09 |
Json데이터 생성 및 Gson 사용 (0) | 2021.12.07 |
[RetroFit] HTTP, Android -> Spring 데이터 통신 (0) | 2021.12.07 |
중첩클래스 사용이유 (0) | 2021.11.26 |
댓글