例えば、私は問題のリストを持っています。各問題に所有者uidがあります。このuidによって、私は必要なユーザーを見つけて、彼の名前と写真を表示する必要があります。Firebaseデータベースクエリのループ内のユーザ
issues.forEach {
IssueRepository().getIssueOwner(it.owner).observe(this, Observer {
})
}
getIssueOwner方法:
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
}
しかし、私は、このアプローチが正しくないことを確信している私は助けアーキテクチャコンポーネントのViewModelでそれを行います。私は私のアプリのアーキテクチャを構築する方法についてアドバイスをお願いしますか?
おかげでアルあなたはAndroidでJOINクエリを実行する方法を知っているかもしれませんが、助けてください) – LeShChEnKoUa