This Weather app uses OpenWeatherMap API. Here I have demonstrated the use of Modern Android development tools – (Kotlin, Architecture Components, MVVM, LiveData, Material Components)
Please click the image below to enlarge.
- Kotlin – First class and official programming language for Android development.
- Coroutines – For asynchronous and more..
- Android Architecture Components – Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData – Data objects that notify views when the underlying database changes.
- ViewModel – Stores UI-related data that isn’t destroyed on UI changes.
- ViewBinding – Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- Koin – Dependency Injection Framework
- Retrofit – A type-safe HTTP client for Android and Java.
- GSON – A Java serialization/deserialization library to convert Java Objects into JSON and back.
- GSON Converter – A Converter which uses Gson for serialization to and from JSON.
- OkHttp3 – For implementing interceptor, logging and mocking web server.
- Glide – An image loading and caching library for Android focused on smooth scrolling.
- Material Components for Android – Modular and customizable Material Design UI components for Android.
This app uses MVVM (Model View View-Model) architecture.