带有RxAndroid + Retrofit的Android MVP

Rin*_*nav 10 mvp android design-patterns rx-java rx-android

最近我开始阅读很多关于MVP的内容,我想用它练习我的项目.

但是我无法正确理解Rx + Retrofit代码应该去哪里?我认为应该通过Interactors在Model Layer中,但仍然可以有人对此有所了解吗?

RX回调会发生什么?onNext(),onCompleted()和onFailure()将数据传递回Presenter,还是我们实现了侦听器,然后将其传递给Presenter?

当我在onNext()中获取数据时,我还想保留数据(Realm/StorIO),所以再次将它传递给另一个DataLayer或它应该去哪里?

我们还应该进一步解耦Rx回调吗?

我关注这篇文章 https://davidguerrerodiaz.wordpress.com/2015/10/13/a-brief-introduction-to-a-cleaner-android-architecture-the-mvp-pattern/

这个来自antonioleiva.com的单独github回购 https://github.com/antoniolg/androidmvp

Dav*_*ero 5

正如您所指出的,RxJava功能定义了模型层的用例,因此它将被放置在该层的交互器中.您可以为每个用例创建不同的交互器.假设您从服务器中提取用户列表,这将是一个用例和一个具有RxJava/Retrofit Observable的交互器.

然后你会有一个带有Observer的Presenter,它对这个用户列表很感兴趣,所以它会被订阅到Observable.

最后,当Observer in拥有来自Observable(onCompleted)的所有数据时,它将转换这些数据(如果需要的话)并传递给View,它将负责显示它.


wnc*_*_21 5

有很棒的帖子解释mvp.Rx只是它的附加工具.

http://hannesdorfmann.com/android/mosby-playbook/

有深度解释和源代码示例.