web-dev-qa-db-fra.com

Quel est le substitut approprié de getSupportLoaderManager obsolète?

Je reçois une information dans Android Studio selon laquelle getSupportLoaderManager est obsolète. Mais je veux appeler:

getSupportLoaderManager().initLoader(0, null, mRecipeLoaderManager);

Quelle devrait être l'alternative pour cet appel? Ou puis-je quand même utiliser getSupportLoaderManager sans m'inquiéter?

9
fabi

Comme indiqué ici: Chargeurs

"Les chargeurs sont obsolètes depuis Android P (API 28). L'option recommandée pour traiter le chargement de données lors du traitement des cycles de vie Activité et Fragment consiste à utiliser une combinaison de ViewModels et LiveData."

Chaque fois que vous voyez quelque chose qui est obsolète, allez directement sur le site du développeur et voyez la classe ou la fonction que vous recherchez. Ils la marquent déjà comme deprecated et il y aura une meilleure alternative.

6
Kavin Prabhu

Vous pouvez toujours utiliser getSupportLoaderManager si vous avez besoin de: Android.support.v4.app.LoaderManager.getInstance(this).initLoader(0, null, this).forceLoad();

6
MohammadL

Cette méthode est obsolète parce que les chargeurs ont été dissociés de leurs implémentations historiques Fragment et FragmentActivity afin de vivre dans leur propre bibliothèque qui sera bientôt une dépendance facultative, et que leur implémentation a été réécrite au-dessus de composants architecture.

La méthode non groupée pour extraire une instance LoaderManager consiste à utiliser la méthode de fabrique statique:

LoaderManager.getInstance(T)

T est une instance de LifecycleOwner et ViewModelStoreOwner (les principales implémentations étant FragmentActivity et Fragment).

2
BladeCoder

Ici vous avez une brève explication sur la façon de remplacer Loaders avec ViewModel:

https://developer.Android.com/jetpack/Arch/viewmodel#loaders

Les graphiques sont explicites, je pense:

 enter image description here

 enter image description here

Pour une explication plus détaillée, vous pouvez lire ce billet de blog:

https://medium.com/google-developers/lifecycle-aware-data-loading-with-Android-architecture-components-f95484159de4

0
Fran Marzoa