2016-12-11 4 views
0

Я искал лучший способ выполнения вызовов API, и для этого я провел некоторое исследование основных способов, таких как «Дооснащение», «Волейбол», «Ион» и т. Д., И я убежден, что «Дооснащение» - это действительно самое лучшее. Я привык пользоваться этим с давних пор, и я должен просто двигаться дальше и жить своей жизнью, с моим разумом, полным счастья в отношении моих прошлых выборов, НО, я использую только «Дооснащение» и его вызовы, где я обычно делать мои вещи, обрабатывать успех и ошибки, и он отлично работает, Г. Г.. Итак, я слышал о RxAndroid на «Дооснащении», а затем у меня возникло огромное сомнение в себе: должен ли я использовать RxAndroid? Это сделает мои проекты лучше? Каковы преимущества использования (или нет)?Android Retrofit: использовать или не использовать RxAndroid?

+0

«Это улучшит мои проекты?» Может быть, но, возможно, нет. Это может сделать ваш код хуже, если вы не используете дополнительные возможности в своих интересах. В конце концов, это сложность. – zapl

ответ

0

Я предполагаю, что вы, вероятно, имеете в виду 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() и дожидаясь их завершения до завершения дальнейшей обработки.

0

Если вы уже знакомы со всем RX-способом мышления, я бы сказал: попробуйте. Для меня, он сделал вещи в м y app way easy, но влияние зависит от того, как настроено ваше приложение.

Если вы не знакомы с RX, я бы посоветовал вам сначала попытаться понять идею этого, включив его в некоторые небольшие части приложения, не используя его в сочетании с Retrofit.

И последнее, но не менее важное: не используйте его, потому что это бедро и происходит, попробуйте сначала, если вы считаете его ценным для своего кода, продолжайте его использовать.

0

RxJava как каждая библиотека имеет одинаковые негативные последствия для производительности и размера вашего приложения. В этом случае это не большие накладные расходы. RxJava прост и улучшает качество вашего кода. Когда вы начнете использовать его, вы будете использовать его во всех своих проектах.