Я искал лучший способ выполнения вызовов API, и для этого я провел некоторое исследование основных способов, таких как «Дооснащение», «Волейбол», «Ион» и т. Д., И я убежден, что «Дооснащение» - это действительно самое лучшее. Я привык пользоваться этим с давних пор, и я должен просто двигаться дальше и жить своей жизнью, с моим разумом, полным счастья в отношении моих прошлых выборов, НО, я использую только «Дооснащение» и его вызовы, где я обычно делать мои вещи, обрабатывать успех и ошибки, и он отлично работает, Г. Г.. Итак, я слышал о RxAndroid на «Дооснащении», а затем у меня возникло огромное сомнение в себе: должен ли я использовать RxAndroid? Это сделает мои проекты лучше? Каковы преимущества использования (или нет)?Android Retrofit: использовать или не использовать RxAndroid?
ответ
Я предполагаю, что вы, вероятно, имеете в виду 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()
и дожидаясь их завершения до завершения дальнейшей обработки.
Если вы уже знакомы со всем RX-способом мышления, я бы сказал: попробуйте. Для меня, он сделал вещи в м y app way easy, но влияние зависит от того, как настроено ваше приложение.
Если вы не знакомы с RX, я бы посоветовал вам сначала попытаться понять идею этого, включив его в некоторые небольшие части приложения, не используя его в сочетании с Retrofit.
И последнее, но не менее важное: не используйте его, потому что это бедро и происходит, попробуйте сначала, если вы считаете его ценным для своего кода, продолжайте его использовать.
RxJava как каждая библиотека имеет одинаковые негативные последствия для производительности и размера вашего приложения. В этом случае это не большие накладные расходы. RxJava прост и улучшает качество вашего кода. Когда вы начнете использовать его, вы будете использовать его во всех своих проектах.
«Это улучшит мои проекты?» Может быть, но, возможно, нет. Это может сделать ваш код хуже, если вы не используете дополнительные возможности в своих интересах. В конце концов, это сложность. – zapl