안드로이드 파이어베이스 이메일 인증과 관련한 질문입니다.

조회수 865회

유저가 이메일로 가입했을 경우, 두 가지 케이스로 나누고 싶습니다.

  1. 최초 로그인할 경우 -> InputInfoActivity로 이동
  2. 최초 로그인이 아닌 경우 -> MainActivity로 이동

최초 로그인 시에 파이어베이스 데이터베이스에는 유저 정보가 없습니다. 이를 활용해 유저의 uid노드가 데이터 베이스에 없으면 최초 로그인으로 구분하려하는데요.

uid노드가 있는지 없는지 데이터 베이스에서 긁어오고, boolean값을 변경해줍니다. (코드참조) 헌데 onDataChanged 메서드에서는 boolean값이 변경이되는데 ValueEventListener를 빠져나오면 다시 false로 바뀌어 있네요. 왜 이런건지 궁금하고 해결책이 궁금합니다.

이메일 인증을 최초 로그인으로 구분하는 또다른 해결책을 제시해 주시면 더욱 감사합니다.

이미지

firstEmailLogin이 전역변수 boolean 값입니다. firstEmailLogin이 true로 설정되어 있으면 1번의 경우로 실행이 되고 false이면 2번의 경우로 갑니다. 당연히 데이터 베이스에 유저 정보를 넣지 않았기 때문에 dataSnapshot.getValue()는 null 값으로 로그가 찍힙니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)