본문 바로가기
프로그래밍/Kotlin

[Kotlin] 안드로이드 자동로그인 코드

by Youngs_ 2021. 12. 9.

자동로그인 정보가 저장되는 경로 : /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()을 반드시 해줘야 저장을한다.

댓글