If you want to become an expert in Android, first you need to know about these five libraries.
Retrofit is the REST Client library for Android and Java. In this library, you define your data structure according to your JSON response as an interface. You can define APIs request body, headers, parameters and much more via annotations. Retrofit makes your APIs data structure clean and simple. With the Retrofit, you can use both Asynchronous and synchronous APIs call. Check an example of Retrofit here.
2- Room Database
Room is an official Android ORM. The annotation structure of the Room database is the same as Retrofit. Three main reasons to use the Room database.
- Boilerplate code
- Easily integrated with other architecture components.
You can find Room Database Gradle files from here.
Dagger use for dependency injection. An earlier version of Dagger was created by Square but now maintained by Google. Dagger is a fully static, compile-time dependency injection framework. Dagger is difficult to understand, for getting knowledge of dagger, you will need time and effort. While working on largest application, when you have a lot of code to do then it is very difficult to implement dependency injection. Then you have a good option to use a dagger for dependency injection. You can see the following example
RxJava is a Java implementation of ReactiveX APIs that allows you to chain asynchronous tasks and events using an observable pattern. While fetching real-time data, it becomes very difficult to merge multiple APIs call, switch threads and handle errors. To control these all tasks, we use RxJava.
Timber is the best-known logging platform for Android development. We use the log for logging different messages during our development. But when we have to release the app then we forget to remove all logs. Then we apply condition base logs. Timber is a lightweight platform so we can use it for only debug versions easily.