tinder 앱에 user들을 실시간으로 데이터베이스에 저장하기 위해서 firebase realtime database 기능을 이용하였습니다.
private fun handlerSuccessLogin(){
if(auth.currentUser == null){
Toast.makeText(this, "로그인에 실패했습니다.",Toast.LENGTH_SHORT).show()
return
}
val userId = auth.currentUser?.uid.orEmpty()
val currentUserDB = Firebase.database.reference.child("Users").child(userId)
val user = mutableMapOf<String, Any>()
user["userId"] = userId
currentUserDB.updateChildren(user)
finish()
}
private val auth: FirebaseAuth = FirebaseAuth.getInstance()
private lateinit var userDB: DatabaseReference
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_like)
userDB = Firebase.database.reference.child("Users")
val currentUserDB = userDB.child(getCurrentUserID())
currentUserDB.addListenerForSingleValueEvent(object : ValueEventListener{
override fun onDataChange(snapshot: DataSnapshot) {
if(snapshot.child("name").value == null){
showNameInputPopup()
return
}
}
override fun onCancelled(error: DatabaseError) {
TODO("Not yet implemented")
}
})
}
private fun saveUserName(name: String) {
val userId = getCurrentUserID()
val currentUserDB = userDB.child(userId)
val user = mutableMapOf<String, Any>()
user["userId"] = userId
user["name"] = name
currentUserDB.updateChildren(user)
}
private fun getCurrentUserID(): String {
if(auth.currentUser == null){
Toast.makeText(this, "로그인이 되어있지 않습니다.", Toast.LENGTH_SHORT).show()
finish()
}
return auth.currentUser?.uid.orEmpty()
}
패스트캠퍼스 바로가기 -> https://bit.ly/3FVdhDa
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
[패스트캠퍼스 챌린지 30일차] Android 중고거래 앱 UI (0) | 2021.11.30 |
---|---|
[패스트캠퍼스 챌린지 29일차] Android tinder 앱 마무리 (0) | 2021.11.29 |
[패스트캠퍼스 캠퍼스 27일차] Android tinder Facebook Login (0) | 2021.11.27 |
[패스트캠퍼스 챌린지 26일차] Android Tinder 앱 UI 및 로그인 기능 (0) | 2021.11.26 |
[패스트캠퍼스 챌린지 25일차] Android tinder app 설정 (0) | 2021.11.25 |