Pour toute personne ayant cette question,Quelle est la différence entre ViewModel et AndroidViewModel
Selon Documentation Android,
Depuis la ViewModel survive activité spécifique et instanciations fragment, il ne doit jamais faire référence à une vue ou toute classe pouvant contenir une référence au contexte de l'activité. Si le ViewModel a besoin du contexte Application (par exemple, pour trouver un service système), il peut étendre la classe AndroidViewModel et avoir un constructeur qui reçoit l'Application dans le constructeur (puisque la classe Application étend Context).
La documentation se trouve ici: https://developer.android.com/topic/libraries/architecture/viewmodel.html
Edit: Pour une explication en double: Je veux dire que vous pouvez étendre la classe à viewmodel ainsi que AndroidViewModel. Quand vous devriez étendre qui, l'explication ci-dessus est pour cela seulement. Les liens ci-dessus dit à propos de l'architecture ViewModel MVVM en général et non pas le android.arch.lifecycle.ViewModel
Je veux dire que vous pouvez étendre la classe à ViewModel ainsi que AndroidViewModel. Quand vous devriez étendre qui, l'explication ci-dessus est pour cela seulement. Les liens ci-dessus parlent de ViewModel de l'architecture MVVM en général et non du android.arch.lifecycle.ViewModel –
@ M0CH1R0N: veuillez lire le commentaire ci-dessus. Si vous pensez qu'il s'agit d'un article en double, je le supprimerai dès que possible. Merci. –
Mon diable, j'ai relu ta question. AndroidViewModel hérite de ViewModel, il a donc toutes les mêmes fonctionnalités. La seule fonctionnalité ajoutée pour AndroidViewModel est qu'il est sensible au contexte: lors de l'initialisation d'AndroidViewModel, vous devez transmettre le contexte en tant que paramètre. Cela peut être utilisé si vous voulez montrer des toasts par exemple. – M0CH1R0N