This is an android application displays drivers informatrion in a list, from Ergast Drivers API. And Application provides searchview, to search about a driver present in the list view. To reduce the network interactions, storing the fetched drivers into a local database.
Used MVVM Architectural pattern to design this application. And used Android architectural components(LiveData, ViewModel and Room database) to implement this application.
This package holds view related class for this application.
- Ergast.java – Application class for this application.
- MainActivity.java – Activity class for this application. This class holds View for this application. Displays, driver’s information present in Ergast, in a list. This class interacts with ViewModel class.
- ErgastComponent.java – A Component class for Dagger2.
- DriverAdapter.java - Adapter class for showing Drivers information in RecyclerView.
This package holds Room database classes for this application.
This package holds all dependency Injection API Modules.
This package holds contract interfaces for the application.
This package holds model classes for this application
- DriverStub.java, DriverTable.java, ItemResponse.java, MRData.java – Model classes for Gson parser
This package holds network related classes for this application.
- ApiService.java – Retrofit2 Api service class.
This package holds utility class for this application.
- DriverViewHolder.java – ViewHolder class for displaying Driver information in RecyclerView.
This is VM of M-V-VM architecture.
- MainViewModel.java - Holds pagedList of Drivers information
- Automation tests