EzNews is an android app showing a simple news feed built using Jetpack Compose, Paging 3 and the NewsAPI.org.
This is a personal project for me to try out the latest libraries for Jetpack Compose (Alpha-09) and Paging 3. This app isn't publicly released on any app store.
- 100% Kotlin
- MVVM architecture
- Uses Kotlin coroutines thoroughout
- Uses Hilt for dependency injection
- UI built using Jetpack compose
You will require the latest Android Studio preview to build the app. This is because Compose is only supported in v4.2 or later.
You will need to supply your own development API key for NewsAPI.org. see NewsAPI for details.
Once you obtain a key, you can set it in your local.properties
gradle file like so:
# API key used to access news api
NEWS_ORG_API_KEY={key}
- Jetpack Compose
- Retrofit
- ViewModel
- Coroutines
- Hilt
- Moshi
- Accompanist (by Chris Banes)
- NewsAPI
- Paging Compose
- Paged data with states for loading / error / next page loading / next page error.
- Lazy list and image loading.
- "Jump to top" button control.
- Filter controls for news categories and for country.
- Light/Dark Compose theming and custom typography.
- Simple navigation between the "news feed" screen and a "about" screen