最近我开始阅读很多关于MVP的内容,我想用它练习我的项目。
但是我无法正确理解Rx + Retrofit代码应该去哪里?我认为它应该通过Interactors在Model Layer中,但仍然可以有人对此有所了解吗?
RX回调会发生什么? onNext(),onCompleted()和onFailure()将数据传递回Presenter,还是我们实现了侦听器,然后将其传递给Presenter?
当我在onNext()中获取数据时,我还希望保留数据(Realm / StorIO),所以再次将它传递给另一个DataLayer或者它应该去哪里?
我们还应该进一步解耦Rx回调吗?
和antonioleiva.com的这个单独的github回购 https://github.com/antoniolg/androidmvp
答案 0 :(得分:5)
正如您所指出的,RxJava功能定义了模型层的用例,因此它将被放置在该层的交互器中。您可以为每个用例创建不同的交互器。假设您从服务器中提取用户列表,这将是一个用例和一个具有RxJava / Retrofit Observable的交互器。
然后你会有一个带有Observer的Presenter,它对这个用户列表很感兴趣,所以它会被订阅到Observable。
最后,当此Observer in包含来自Observable(onCompleted)的所有数据时,它将转换此数据(如果需要)并传递给将负责显示它的View。
答案 1 :(得分:5)