Retrofit is a type-safe HTTP client for Android and Java, which makes it easier to consume RESTful web services. Use it when you need to turn your HTTP API into a Java interface, providing a robust and efficient way to handle network requests.
Room is an abstraction layer over SQLite, providing a more intuitive database access while harnessing the full power of SQLite. Use Room when you need to persistently store large amounts of structured data locally.
Dagger 2 is a compile-time dependency injection framework, while Hilt is built on top of Dagger to simplify DI in Android apps. Use them when you need to manage dependencies within your codebase, reducing both boilerplate and runtime errors.
Kotlin Coroutines help manage long-running tasks that might otherwise block the main thread and cause your app to freeze. Use it when you have tasks that need to run concurrently with your main application thread.
The Navigation Component is a part of Android Jetpack that simplifies the implementation of navigation in your Android app. Use it when you need to navigate between different screens, handling back stack and passing data between destinations.
WorkManager is an Android library for managing deferrable and guaranteed background work. Use it when you have tasks that should run at a specific time or under specific conditions, regardless of whether the app is in the foreground.
ExoPlayer is a media player library for Android that provides an alternative to Android’s MediaPlayer API. Use it when you need more control over audio and video playback, such as adaptive streaming or dynamic content loading.