- Architecture MVVM (Model View ViewModel)
LiveData
(en particulierMediatorLiveData
)- Utilisation d'un
Fragment
comme vue (TaskFragment
) - Utilisation d'une
DialogFragment
customisée (AddTaskDialogFragment
) RecyclerView
(et sonListAdapter
/DiffItemCallback
)- Dialogue entre un
Adapter
et sonFragment
(via l'interfaceTaskListener
) - Tri de données via input utilisateur dans le
TaskViewModel
- Utilisation d'un Dao pour persister les différents
Task
grâce à une base de données (TaskDao
) - Enums (
TaskSortingType
) - Singleton (
ViewModelFactory
) - Tests unitaires (TU) avec des
LiveData
etViewModels
(grâce àMockito
) - Code Coverage à 97% (
JaCoCo
) - Tests d'intégration poussés avec
Espresso
(tests UI et tests de base de données)
./gradlew jacocoTestReport
pour générer le rapport de coverage des tests unitaires
./gradlew connectedAndroidTest
pour lancer les tests d'intégration (avec un émulateur / device USB déjà lancé)