我们正在大量基于Realm构建应用程序。我们有以下情况
User
的领域数据库,该模型具有
属性FirstName和LastName UserViewModel
)将包含FullName = FirstName +
姓氏以及一些其他功能User
对象修饰为
其他情况,我们将RealmRecyclerViewAdapter
与
RealmResults<User>
,它将始终保持我们的回收者视图
与源数据同步我想到的第一个解决方案是使用Realm和Android的RxJava扩展来完成此任务。伪代码在理论上非常简单
但是,我无法实现它。 Realm的rx扩展包含两种类型的方法-asFlowable
和asChangeSetObservable
。第一个返回Flowable<RealmResults<User>>
,第二个返回Observable<ChangeSet<RealmResults<User>>>
。似乎我应该使用的是asChangeSetObservable
,因为它提供了所有已更改的细节,最终我可以将这些事件传播回RecyclerView
。
我还考虑重新使用我开发的控件,该控件可以很好地与ObservableArrayList
配合使用,并围绕它创建一个通用的RecyclerViewAdapter
来处理所有集合更改。在这种情况下,我的问题很可能是获取域结果,执行一些Rx函数并将结果映射回我已经拥有ObservableArrayList
的{{1}}。
上述问题只是一个简单的示例,很可能可以通过简单的解决方法来实现(例如也将FullName存储在db中)。但是,从Realm映射反应性数据流到回收者视图的问题要广泛得多。
任何建议都非常感谢,并在此先感谢