오늘 하루의 느낀점

230804 Today I Learned!

조예_ 2023. 8. 4. 16:28

오늘은 Shared Preference를 사용해서 회원가입 한 데이터를 로컬에 저장하였고

로컬에 저장한 값을 비교하여 일치 할 경우 로그인이 되도록 만들어 주었다.

 if (id.text.toString().isEmpty() || pw.text.toString().isEmpty()) {
                Toast.makeText(this, "이메일 또는 비밀번호가 빈칸 입니다.", Toast.LENGTH_SHORT).show()
            } else if (id.text.toString() == sharedPreference.getString("id", "")
                && pw.text.toString() == sharedPreference.getString("pw", "")
            ) {
                print("test")
                val loginIntent =
                    Intent(this, HomeActivity::class.java)

                startActivity(loginIntent)
                Toast.makeText(this, "로그인성공", Toast.LENGTH_SHORT).show()
            }else{
                Toast.makeText(this, "로그인을 할 수 없습니다. \n아이디 또는 비밀번호를 확인해주세요", Toast.LENGTH_SHORT).show()
            }

 

그런데 여러개의 회원가입을 해서 각각 로그인을 하려고 하니 로그인이 안되었다..ㅠㅠ

로컬에 저장된 값을 확인 해 보았더니 가장 최근에 저장된 값으로 덮어쓰기가 되어있었다..

현재까지는 그냥 단순하게 하나의 데이터를 저장하기만 했다.

 

찾아보니 

list를 json형식으로 string변환하여 저장하고, 사용할때는 json형식의 string을 list로 변환하여 사용해야한다고 하는데...

좀 더 찾아봐야 겠다..ㅜㅜ