An android application which uses NewsAPI for listing news

NewsApp

An android application which uses NewsAPI for listing news.

Prerequisites

1. Check the App

If the app cannot list news, check the API key on build.gradle.kts(:app).

buildConfigField("String", "NEWS_API_KEY", "\"860eaf0ada084fea80bc2ea8480dc0af\"")

2. Ready to run.

Features

  • News Listing Feature
  • Caching Results (Offline Capability)
  • Pull to Refresh
  • Unit Tests

Tech Stack

  • Kotlin – Officially supported programming language for Android development by Google
  • Kotlin DSL – Alternative syntax to the Groovy DSL
  • Coroutines – Perform asynchronous operations
  • Flow – Handle the stream of data asynchronously
  • Android Architecture Components
    • LiveData – Notify views about data changes
    • Room – Persistence library
    • ViewModel – UI related data holder
    • ViewBinding – Allows to more easily write code that interacts with views
  • Hilt – Dependency Injection framework
  • Retrofit – Networking library
  • Moshi – A modern JSON library for Kotlin and Java

Local Unit Tests

  • The project uses MockWebServer (scriptable web server) to test API interactions.

Screenshots

Architecture

GitHub

View Github