Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带有屏幕列表的数据库中的RxJava数据_Android_Rx Java_Rx Android_Nosql - Fatal编程技术网

Android 带有屏幕列表的数据库中的RxJava数据

Android 带有屏幕列表的数据库中的RxJava数据,android,rx-java,rx-android,nosql,Android,Rx Java,Rx Android,Nosql,我刚刚开始学习RxJava,我有点迷路了 我的场景如下:一个本地NoSQL键值数据库,我在其中存储一些数据。问题是端点可以向该数据库添加数据,用户也可以删除其中的一些数据 我将此数据显示为屏幕列表(RecyclerView) 我想知道在一个地方始终了解数据库中最新数据的最佳方法是什么,这样我就可以相应地更新UI。一种方法是在客户端和数据存储之间放置数据服务。使数据服务成为可观察的。允许任何有兴趣在数据更改时收到通知的人向数据服务注册。一种方法是在客户端和数据存储之间放置数据服务。使数据服务成为可

我刚刚开始学习RxJava,我有点迷路了

我的场景如下:一个本地NoSQL键值数据库,我在其中存储一些数据。问题是端点可以向该数据库添加数据,用户也可以删除其中的一些数据

我将此数据显示为屏幕列表(RecyclerView)


我想知道在一个地方始终了解数据库中最新数据的最佳方法是什么,这样我就可以相应地更新UI。

一种方法是在客户端和数据存储之间放置数据服务。使数据服务成为可观察的。允许任何有兴趣在数据更改时收到通知的人向数据服务注册。

一种方法是在客户端和数据存储之间放置数据服务。使数据服务成为可观察的。允许任何有兴趣在数据更改时收到通知的人向数据服务注册。

您正在寻找的是一种创建观察者的方法,即将DB更改事件转换为可观察事件

因此,您将有两种流:
作用于DB并更改在各种事件(推送/云/用户单击)触发的数据(更新/删除)的更改将触发DB更改事件,而这些更改将在第二个流上发出表示DB更改事件的事件

然后在UI中,您可以以Rx方式对更改做出反应(响应DB更改事件流)

为了创建DB changes Observable,您需要了解从异步事件创建Observable的hot(可以使用主题完成,或者如果您正在与某些DB集成,并且您有DB changes事件,您可以使用fromEmitter()将其“包装”为Observable,您可以从本博客了解更多信息:

您要寻找的是一种创建观察者的方法,即将DB更改事件转换为可观察事件

因此,您将有两种流:
作用于DB并更改在各种事件(推送/云/用户单击)触发的数据(更新/删除)的更改将触发DB更改事件,而这些更改将在第二个流上发出表示DB更改事件的事件

然后在UI中,您可以以Rx方式对更改做出反应(响应DB更改事件流)

为了创建DB changes Observable,您需要了解从异步事件创建Observable的hot(可以使用主题完成,或者如果您正在与某些DB集成,并且您有DB changes事件,您可以使用fromEmitter()将其“包装”为Observable,您可以从本博客了解更多信息:

谢谢你的快速回复,但我不太明白。你能提供一点代码片段让它更容易理解吗?没有代码片段。如果你在学习RxJava,你应该知道什么是观察者/可观察者。我刚刚在我的帖子中说,我正在尝试学习rx。我所知道的是,可观察者发射并转换“数据”和Observer完成了最后的工作,这就足够开始了。谢谢你的快速回复,但我不太明白你的意思。你能提供一点代码片段让它更容易理解吗?没有代码片段。如果你在学习RxJava,你应该知道什么是Observer/Observable。我刚刚在我的帖子中说,我正在尝试学习rx。我所知道的是Observable发出并转换“数据”,观察者完成足够开始的结束工作。这正是我想要的。谢谢!这正是我想要的。谢谢!