처음에는 개인프로젝트 내에서 SharedPreferences를 사용하여 사용자를 지정해주고 그 정보로 자동로그인 개념으로 사용자를 지정해두고 지정된 사용자에 따라 로컬데이터베이스를 구축하려고 코딩을 진행하였습니다.
이후에 친구한테 듣기를 서버와 통신할 때 사용하는 BaseUrl처럼 자주 변하지 않는 설정값을 저장해 놓는 용도로 사용하면 된다고 들어서 이렇게 정리해 놓습니다.
사용법은 아래와 같이 getSharedPreferences() 사용하여 인스턴스를 얻어옵니다.
그 후에 SharedPreferences.edit() 인스턴스를 얻어와 putString() 메서드를 통해 키와 값을 입력해 쉽게 데이터를 저장할 수 있습니다.
fun userCheck(){
val pref = getSharedPreferences("user", Context.MODE_PRIVATE)
val editor = pref.edit()
val userName = pref.getString("userName","null")
if(userName == "null"){
btn_next.setOnClickListener {
editor.putString("userName",edit_user.text.toString())
editor.commit()
val intent = Intent(this,
MainActivity::class.java)
startActivity(intent)
finish()
}
}else{
val intent = Intent(this,
MainActivity::class.java)
startActivity(intent)
finish()
}
}
데이터는 SharedPreferences의 getString 메서드에 키 값을 입력해서 쉽게 불러올 수 있습니다.
//자동로그인(유저이름 받아오기)
val userName = getSharedPreferences("user", Context.MODE_PRIVATE).getString("userName","null")
text_user.text = userName