An Android application built using MVVM architecture.
- Kotlin - As a programming language.
- LiveData - Lifecycle aware Observable data holder class.
- ViewModel - To manage the UI-related data in a lifecycle conscious way.
- Coroutines - Used for data manipulations and to switch between main thread and worker thread.
- Retrofit - For making network calls.
- Navigation Component - Navigation occurs between your app's destinations—that is, anywhere in your app to which users can navigate.
- Room database - To cache the response for offline access.
- Glide - Glide supports fetching, decoding, and displaying video stills, images, and animated GIFs.
News9ja is an app which brings the latest news from Google news. Internally app uses News API to fetch the details. This app is built using Clean + MVVM architecture, uses Retrofit2 for making API calls and uses Room database to cache the data. It uses Modern Android Development (Architecture Components, MVVM, Kotlin, Coroutines, Retrofit, Room, Glide) and Room DB you can add a news or delete it from locale storage.
- Create your API key at News API
- Add the generated API key in
~/utils/Constants.kt
like below
const val API_KEY = ""
- Build and run the app.