Skip to content

An Android app displaying a news feed built using Jetpack Compose and Paging3

Notifications You must be signed in to change notification settings

JoshHughes-Dev/EzNews

Repository files navigation

eznews_logo

EzNews

EzNews is an android app showing a simple news feed built using Jetpack Compose, Paging 3 and the NewsAPI.org.

eznews_demo

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

Requirements

You will require the latest Android Studio preview to build the app. This is because Compose is only supported in v4.2 or later.

Api Key

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}

Libraries

  • Jetpack Compose
  • Retrofit
  • ViewModel
  • Coroutines
  • Hilt
  • Moshi
  • Accompanist (by Chris Banes)
  • NewsAPI
  • Paging Compose

Features

  • 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

Filters

eznews_demo_filters

Dark theme

eznews_demo_dark_theme

About

An Android app displaying a news feed built using Jetpack Compose and Paging3

Topics

Resources

Stars

Watchers

Forks

Languages