Dependency Inversion Principle (DIP)(without frameworks)
Guide to app architecture MVVM
Continuous Integration Using Tavis
There are three main layers:
data: in this module has all details Service and Database
repository : his responsibility is to sync server data with the local, taking as one source of true the database (Room)
presentation: This module has all android framework using MVVM
if you get an error running Android test remenber disabled the animation you can do it executing the next shell commands:
adb shell settings put global window_animation_scale 0.0
adb shell settings put global transition_animation_scale 0.0
adb shell settings put global animator_duration_scale 0.0
Important! the android test are located in the branch android-testing because I've facing issue publish the coverage
- Room
- Navigation Component
- Paging 3 library
- LiveData
- ViewModel
- Flow
- MotionLayout
- Data Binding
- View Binding
- Retrofit2
- Glide
- Coroutines
- Mockito-Kotlin
Udacity:
- Build your First app Lesson 7 (RecyclerView 11.Improving Data Refresh)
- Advanced Android with Kotlin Lesson 7 Using Espresso to Test a Fragment
- Advanced Android with Kotlin
- Lesson 7 - 3.2 Using MotionLayout to Animate Android Apps
Google Codelabs:
- Kotlin Bootcamp Course
- Navigation Codelab
- Android Room with a View - Kotlin
- Using Kotlin Coroutines in your Android App
- MotionLayout
- Espresso for UI testing
- Android Paging
Raywenderlich:
- Jetpack navigation controller
- Android Architecture Components: Getting Started
- android architecture components livedata
- android architecture components viewmodel
Others: