Android 使用viewmodel中的LiveData结果从firebase获取数据
我想从firebase中获取2个对象,并使用viewmodel在Recyclerview上显示合并结果。我已经创建了一个viewmodel,它从firebase中获取一个对象,并基于该对象的id获取另一个对象并更新ui。 视图模型类的一些代码Android 使用viewmodel中的LiveData结果从firebase获取数据,android,firebase,android-recyclerview,android-architecture-components,android-livedata,Android,Firebase,Android Recyclerview,Android Architecture Components,Android Livedata,我想从firebase中获取2个对象,并使用viewmodel在Recyclerview上显示合并结果。我已经创建了一个viewmodel,它从firebase中获取一个对象,并基于该对象的id获取另一个对象并更新ui。 视图模型类的一些代码 private static final DatabaseReference POST_REF = FirebaseDatabase.getInstance().getReference("/Post"); private final
private static final DatabaseReference POST_REF =
FirebaseDatabase.getInstance().getReference("/Post");
private final FirebaseQueryLiveData liveData = new
FirebaseQueryLiveData(POST_REF);
@NonNull
public LiveData<DataSnapshot> getDataSnapshotLiveData() {
return liveData;
}
如何使用first的结果从firebase获取第二个对象并将其通知livedata
第一个对象是用户的post,第二个对象是userinfo。我想在Ui上显示合并结果
数据库结构我想获取post,基于post中的ID我想获取userdetails
我认为第五步就是你问题的答案。
在这里,您可以在firebase中的数据更改后更新UI。添加完整的代码、数据库结构和模型类@RohanSharma@Raj我已经编辑了这个问题,你后来解决了吗?我不这么认为,他们没有使用livedata或VieModels来使用viewmodels和livedata更新UI,你必须使用android的room persistent library。我想从post和用户模型中获得结果,并用它更新livedata对象。这是我最关心的问题,怎么做?
private final MyValueEventListener listener = new MyValueEventListener();
public FirebaseQueryLiveData(DatabaseReference ref) {
this.query = ref;
}
@Override
protected void onActive() {
Log.d(LOG_TAG, "onActive");
query.addValueEventListener(listener);
}
@Override
protected void onInactive() {
Log.d(LOG_TAG, "onInactive");
query.removeEventListener(listener);
}