web-dev-qa-db-fra.com

Livedata vs Rxjava

Je dois passer beaucoup de temps à apprendre et à implémenter Livedata (en particulier MediatorLivedata) dans la logique métier, car il est utile d’ajouter des données provenant de diverses sources. Ce programme a eu un succès, car je pouvais ajouter FCM, Network ou RoomDatabase en tant que sources différentes à mon MediatorLivedata et les observer dans ViewModel. En fait, son échelle très bien. Cependant, il manque toujours une implémentation puissante de RxJava2, comme l'enchaînement de requêtes, une carte plate, etc. Il semble que RxJava soit utilisé principalement dans la logique métier, mais en fait, j'ai constaté que beaucoup d'entreprises utilisaient RxJava avec une interface utilisateur avec des fonctionnalités/bibliothèques supplémentaires. Cela rend en fait LiveData inutile dans la logique de présentation. Je voudrais donc savoir si LiveData est en quelque sorte meilleur/plus propre dans la logique de présentation (l’utiliser dans un ViewModel) par rapport à RxJava. Que suggéreriez-vous regarder dans le futur? 

4
Viktor Vostrikov

Je pense que vous pouvez utiliser RxJava et LiveData complètement. RxJava utilisera sous la couche Modèle, l’utilisera pour la demande et recevra les données du serveur ou de la base de données locale. 

Ensuite, LiveData sera enregistré dans l'activité/le fragment car avec LiveData, vous pouvez gérer facilement le cercle de vie de l'activité/du fragment et il a été conçu à cet effet.

2
Cuong Vo

RxJava n’est ni meilleur ni pire pour LiveData, il est différent. Composants d’architecture Android a été conçu pour donner un modèle architectural modèle aux développeurs Android. Donc, si vous êtes à l'aise avec LiveData, utilisez-le, ou si vous êtes à l'aise avec RxJava, utilisez-le. Vous pouvez effectuer toutes les opérations en utilisant les deux bibliothèques. Bien que RxJava contienne beaucoup de syntactic sugar , il en va de même avec Livedata.

1
f0f1