Posts
-
Separating Presentation layer from Android (refactoring)
-
Slideshow (segmented progress bar)
-
Checkers and dynamic colors (refactoring)
-
Moving checkers men (functional programming)
-
Drawing a checkers board (data binding and StateFlow)
-
How many threads run coroutines?
-
Refactoring the code to functional style
-
State inside ViewModel
-
Refactoring Channel to Flow
-
Lifecycle (synopsis)
-
Repository pattern and testing
-
MV* (disambiguation attempt)
-
Testing ViewModel with Mockito
-
Setting dependencies in the constructor
-
Retrofit asynchronously
-
Preventing canceling a coroutine
-
Wrapping Channel in LiveData (refactoring)
-
Extending LiveData (implementing a compass)
-
Eager initialization for Kodein
-
Syncing two ListenableWorkers (decorator pattern)
-
Repository and DSL (refactoring)
-
Refreshing your data (repository pattern)
-
Permissions handling (refactoring)
-
Coroutine inside a ViewModel
-
MVVM and coroutines
-
Repository (design pattern) and lifecycle
-
Backing TextInputEditText with LiveData (DSL)
-
back/home
-
MVP (design pattern)
-
MVVM (design pattern)
-
Strategy (design pattern)
-
AsyncTask inside a ViewModel (advanced answer)
-
AsyncTask (a job interview question)
-
ViewModel and CompositeDisposable
-
RxJava, lifecycle and DSL
-
Timers, RxJava and ViewModel
-
Combining RxJava and LiveData (advanced)
-
Rx Observables to LiveData
-
Bootstrapping
-
Lazy initialization of ViewModel (simple topic)
-
Dismissing form data
-
TextInputEditText and ViewModel
-
Selecting location (advanced topic)
-
Logging
-
WorkManager and push notifications
-
Displaying Google Maps
-
Permissions, RxJava and lifecycle
-
Architecture components and searching
-
Testing with dependency retrieval
-
Lifecycle-aware Rx subscriptions
subscribe via RSS