- MVVM Architectural pattern
- Offline Support using Retrofit
- Pull to Refresh
- Pagination
The application has been built with offline support. It has been designed using Android Architecture components with Retrofit for offline data caching.
The whole application is built based on the MVVM architectural pattern.
The main advatage of using MVVM, there is no two way dependency between ViewModel and Model unlike MVP. Here the view can observe the datachanges in the viewmodel as we are using LiveData which is lifecycle aware. The viewmodel to view communication is achieved through observer pattern (basically observing the state changes of the data in the viewmodel).
a) Android Architectural Components
b) Dagger 2 for Dependency Injection
c) MVVM
d) Retrofit with Okhttp
Open terminal and type the below command to generate debug build
./gradlew assembleDebug
Open AndroidManifest.xml, add your google map key in the below section.
android:name="com.google.android.maps.v2.API_KEY"
android:value=""/>
```