Android has always offered several ways and layers to draw things on screen, one of which is Drawable. As its name suggests, Drawable is a general abstraction of “something that can be drawn”. In particular, it can be considered as an entity that can be drawn onto a Canvas— the vessel for drawing commands on Android. As such, some might say it makes it similar to View.
One of the great advantages in using dependency injection is ease of testing. It allows us to replace any dependency with a test double. Some DI frameworks are better here than others, Dagger is on the “not so good” side. Happily, Koin did a better job here. I’ll show you how.
Nowadays, most of the applications that we use in our daily life comes with the scrolling feature. They fetch data as we scroll down more from the data sources like network, database, and etc. They load the data on demand. As we scroll down it loads more data.
There are already plenty of articles about the new Navigation Architecture Component. It sounds awesome and I wanted to use it in one of my side projects. The project I am working on has multiple modules that need to be able to navigate between each other which is where my problem started.
We didn’t have a proper and scalable code structure or framework back then. API and DB queries were being called and parsed in Activity or Fragment, lots of singleton classes holding shared state between pages, it was a mess and was not scalable for new feature additions. The code base was growing and it was very apparent that we needed a better code structure than whatever we had back then.