예를 들어, 문제점 목록이 있습니다. 각 문제에 소유자 uid가 있습니다. 이 uid를 통해 필요한 사용자를 찾고 이름과 사진을 표시해야합니다.Firebase 데이터베이스 쿼리 사용자에게 루프
issues.forEach {
IssueRepository().getIssueOwner(it.owner).observe(this, Observer {
})
}
getIssueOwner 방법 : I 도움 아키텍처 구성 요소의 ViewModel와 함께 할
fun getIssueOwner(uid: String): MutableLiveData<UserEntity> {
val user: MutableLiveData<UserEntity> = MutableLiveData()
val usersReference = FirebaseDatabase.getInstance().reference.child("users")
val query = usersReference.orderByKey().equalTo(uid).limitToFirst(1)
query.addValueEventListener(object : ValueEventListener {
override fun onCancelled(p0: DatabaseError?) {
}
override fun onDataChange(dataSnapshot: DataSnapshot?) {
if (dataSnapshot == null) {
return
}
dataSnapshot.children.forEach {
val name = it.child("displayName").value
user.postValue(UserEntity(name))
}
}
})
return user
}
하지만이 방법이 정확하지 않습니다 확신 해요. 내 앱 아키텍처를 어떻게 구축해야하는지 조언 해 주시겠습니까?
감사 등 어쩌면 당신은 좋은 방법을 안드로이드에서 JOIN 쿼리를 수행하는 방법을 알고, 도와주세요) – LeShChEnKoUa