Android Retrofit:使用或不使用RxAndroid?

时间:2016-12-11 17:37:52

标签: android api retrofit rx-java retrofit2

我一直在寻找API-calls的最佳方式,为此,我对主要方法进行了一些研究,例如RetrofitVolleyIon等等,我确信Retrofit确实是最好的。很长一段时间以来我习惯使用这个,我应该继续过我的生活,对我过去的选择充满了快乐,但是我只使用Retrofit,并且它的呼叫处理,我经常做我的事情,处理successerror,它工作正常,GG。所以,我在RxAndroid上听说Retrofit,然后我对自己产生了巨大的疑问:

我应该实施RxAndroid吗?

这会让我的项目变得更好吗?使用(或不使用)有什么好处?

3 个答案:

答案 0 :(得分:2)

我猜你在这种情况下可能意味着RxJava。 RxJava和Retrofit非常合适....特别是如果您需要组合执行不同的请求。例如,假设您有以下内容,并且您希望在调用getData

之前获取令牌
public interface SomeRetrofitServiceInterface {
    @POST("issueToken")
    Observable<String>  issueToken(@Query("subscriptionKey") String subscriptonKey);

    @GET("getSomeData")
    Observable<MyPojo> getData(@Query("token") String token);
}

这是使用RxJava

执行此操作的方法
service.issueToken(subscriptionKey)
                .subscribeOn(Schedulers.io())
                .flatMap(token -> service.getData(token));

另一个用例可能是您希望并行运行多个请求(例如,使用Observable.zip()并等待所有请求完成后再进行进一步处理。

答案 1 :(得分:0)

如果你已经熟悉整个RX思维方式,我会说:试一试。对我而言,它使我的应用程序方式更容易,但影响取决于您的应用程序的设置方式。

如果您不熟悉RX,我建议您首先尝试掌握它背后的想法,将其纳入您应用的一些小部分,而不将其与Retrofit结合使用。

最后但并非最不重要的一点:不要使用它,因为它的时尚和发生,首先尝试一下,如果你发现它对你的代码有价值,继续使用它。

答案 2 :(得分:0)

每个库的RxJava对应用程序的性能和大小都有相同的负面影响。在这种情况下,它不是一个很大的开销。 RxJava很简单,可以提高代码的质量。当您开始使用它时,您将在所有项目中使用它。