web-dev-qa-db-fra.com

Kotlin Flow vs Android LiveData

J'ai des questions sur Kotlin Flow

  1. Je peux observer LiveData à partir de plusieurs fragments. Puis-je faire cela avec Flow? Si oui, alors comment?
  2. Nous pouvons avoir plusieurs LiveData à partir d'un seul LiveData en utilisant map & switchMap. Existe-t-il un moyen d'avoir plusieurs flux à partir d'un seul flux source?
  3. En utilisant MutableLiveData je peux mettre à jour les données de n'importe où en utilisant la référence de variable. Existe-t-il un moyen de faire de même avec Flow?

J'ai un cas d'utilisation comme: je vais observer un SharedPreferences en utilisant callbackFlow{...} ce qui me donnera un flux source unique. À partir de ce flux, je veux créer plusieurs flux pour chaque paire clé-valeur.

Ces questions peuvent sembler stupides. Je suis nouveau dans le monde Rx et Flow.

19
zoha131

Dans une architecture à 3 niveaux: présentation du domaine de données, Flow doit avoir lieu dans la couche de données (bases de données, réseau, cache ...), puis comme Samuel Urbanowicz mentionné, vous pouvez mapper Flow à LiveData .

En général, Flow est presque ce que l'Observable (ou Flowable) est pour RxJava. Ne le confondez pas avec LiveData.

plus ici: https://medium.com/@elizarov/cold-flows-hot-channels-d74769805f9

0
gts13