This is a two screen app which show your current location and top rated movies respectively.
- Track your current location using GPS on the Map.
- Handling of location permission and GPS setting efficiently.
- Explore top rated Movies.
- Single Activity Architecture and uses Jetpack navigation to navigate through destination (fragments).
- Retrofit to do api calls and gson to parse response.
- Paging3 to load only required Movies and for infinite scroll.
- Hilt for dependency injection.
RoadCastAssignmentScreenRecording.1.mp4
- Show a progress at bottom when appending pages in movies screen.
- Show a Error message and give the user a button to retry.
This app follows MVVM architecture with Clean architecture, Uni Directional Flow (UDF) pattern and Single Activity architecture pattern.
:data:
- The data origin point.:di:
- Hilt modules.:presentation:
- All the Screens UI lies here in subpackages.
Kotlin: As the programming language.
Jetpack Navigation : To navigate between destinations(fragments).
Google Maps API : To track user's location on the Map.
Hilt : As a dependency injector.
Paging3: For infinite scrolling.
Retrofit: As Api Client.
Coroutines: For Asynchronous programming.
Simple clone this app and open in Android Studio.
Do these steps if you want to show google maps. The tracking functionalities will work as usual even if you don't do these step.
- Create and Get Google Maps API key by using this official guide
- Open
local.properties
file. - Enter your API key like this:
MAPS_API_KEY=your_maps_api_key