Skip to content

dmitriykotov333/MVVM

Repository files navigation

MVVM

  • Dagger

  1. Dagger version 2.2+ (Dagger-Android)
  2. Dagger-android basics:
    1. DaggerApplication
    2. DaggerAppCompatActivity
    3. DaggerFragment
  3. @Provides, @Binds, @BindsInstance explanation
  4. Map Multibinding
  5. Subcomponents
  6. Scopes
  7. Custom Scopes
  8. @ContributesAndroidInjector
  9. Activity Injection
  10. Fragment Injection
  11. ViewModel Injection
  • Jetpack Navigation Component

  • RxJava

  • REST API with MVVM and Retrofit2 and Cache (Room)

  1. (rest api) using Retrofit2
  2. MVVM Architecture: ViewModel, Repository, Client structure
  3. ViewModels and AndroidViewModels
  4. Observables, LiveData, MutableLiveData and MediatorLiveData
  5. Caching data for when the network goes offline
  6. Reading cached data when the network is down
  7. Custom SQLite queries using Room
  8. Customizing the cache (how long data will live in the cache)
  9. Retrofit caching works
  10. Dealing with Network Errors and slow network speeds
  11. OkHttp Network Timeouts
  12. Converting Retrofit Calls to LiveData (Call Adapters)

Functional

  1. Multiple View Types in a Recyclerview
  2. RecyclerView Pagination
  3. Executors and Background Threads
  4. ThreadPools

Architecture Diagram