在android应用程序中应用rxjava的最佳实践

在android应用程序中应用rxjava的最佳实践,android,system.reactive,mvp,clean-architecture,Android,System.reactive,Mvp,Clean Architecture,我目前正在开发一个应用程序,希望应用一些新的实践、架构解决方案和库(Rxjava、MVP、clean架构)。 登录过程包括以下几个步骤: 正在检查设备上的本地数据库中是否存在用户帐户 如果没有,则执行第2条 使用电子邮件和id请求服务器(由Google SignIn提供)-服务器检查远程服务器数据库中是否已经存在用户 A.如果不是-服务器发送错误响应(404) 根据响应,我将新用户添加到服务器数据库 如果成功 我将用户保存到设备上的本地数据库 B如果存在(查看编号2) 我只将用户保存到设备上的

我目前正在开发一个应用程序,希望应用一些新的实践、架构解决方案和库(Rxjava、MVP、clean架构)。 登录过程包括以下几个步骤:

  • 正在检查设备上的本地数据库中是否存在用户帐户 如果没有,则执行第2条
  • 使用电子邮件和id请求服务器(由Google SignIn提供)-服务器检查远程服务器数据库中是否已经存在用户 A.如果不是-服务器发送错误响应(404)
    • 根据响应,我将新用户添加到服务器数据库 如果成功
    • 我将用户保存到设备上的本地数据库 B如果存在(查看编号2)
    • 我只将用户保存到设备上的本地数据库
  • 每个调用都是使用RXJava完成的。 每个呼叫都基于前一个呼叫的结果(基于在订户中处理的响应)。每个新呼叫都从用户开始。 如果在订阅服务器中调用OnError方法,我将执行api调用,该调用将数据保存在服务器上。所有对observable的订阅都在“presenter”中进行

    我想知道是否不可能将所有这些调用合并为一个(zip、flatmap)?
    有更好的想法吗?

    您可以看看这个示例项目和这篇由5部分组成的文章,以便更熟悉MVP、RxJava等的最佳实践。