binding.button.setOnClickListener {
db.collection("hello")
.get()
.addOnSuccessListener { result ->
for (i in result) {
val value = i.data.toString()
txt1.text = value
Log.d(TAG, "${i.id} => ${i.data}")
}
}
.addOnFailureListener {
Log.w(TAG, "Error getting documents.")
}
}
binding.button.setOnClickListener {
val txt1 = binding.textView
val email = binding.email.text.toString()
db.collection("hello")
.get()
.addOnCompleteListener { task ->
if (task.isSuccessful) {
for (i in task.result) {
val dataMap = i.data
if (dataMap["email"] == email) {
var emailFromFirestore = dataMap["email"].toString()
var nicknameFromFirestore = dataMap["nickName"].toString()
if (emailFromFirestore.isEmpty()) {
emailFromFirestore = "No email found"
}
if (nicknameFromFirestore.isEmpty()) {
nicknameFromFirestore = "No nickname found"
}
txt1.text =
"Email: $emailFromFirestore, Nickname: $nicknameFromFirestore"
}
}
}
}
.addOnFailureListener {
Log.w(TAG, "Error getting documents.")
}
}
(리스너를 설정하면 Cloud Firestore는 리스너에 데이터의 초기 스냅샷을 전송한 후 문서가 변경될 때마다 다른 스냅샷을 전송한다.