SharedPreferences을 사용해서 자주 변하지 않는 설정값 또는 자동로그인 구현하기

taeyoung moon·2020년 7월 1일
0

android

목록 보기
3/5

처음에는 개인프로젝트 내에서 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
profile
끈질긴 개발자

0개의 댓글