zabi90 / NewsApp-Android

This is a demo or learning project that shows latest news from https://newsapi.org/ api.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NewsApp-Android

NewsApp-Android is a sample project for learning purpose only that fetch news article from News API and save locally in mobile database storage to show it later. This app design is inspired from Fortnightly Google Material design case study.

Light Mode Dark Mode
screenshotscreenshotscreenshot screenshotscreenshotscreenshot

Features

  • Fetch news article api from News API using Retrofit with coroutine
  • Save fetched data sqlite database using Room persistance
  • Show News articles from database first and load from api when not available into database.
  • Sync News articles after 30 minutes using WorkManager)
  • This app is also support dark theme when system setting in Android Q is in dark mode.

Pending Features

Search news article. Make news article favourite. Open news article detail in webview. Share News Article. Add Support for Tabs.

Libraries

NewsApp-Android uses a number of open source projects to work properly:

  • RetroFit - A type-safe HTTP client for Android and Java
  • Room - The Room persistence library provides an abstraction layer over SQLite to allow for more robust database access while harnessing the full power of SQLite.
  • Dagger - Dagger is used for dependency injection.
  • Navigation Component - Android navigation component to handle Android navigation
  • WorkManager -With WorkManager, you can easily set up a task and hand it off to the system to run under the conditions you specify.
  • Pagination - The Paging Library helps you load and display small chunks of data at a time
  • Material Theme - Google Material Theme.
  • Glide - Glide is a fast and efficient image loading library for Android focused on smooth scrolling.
  • Coroutine Handle Threads and Asyn Jobs with concise syntax.

Todos

  • Write Local Tests and Instrument Tests.
  • Crashlytics.
  • Short Appbar on scrolling.

License

   Mit License

About

This is a demo or learning project that shows latest news from https://newsapi.org/ api.

License:Apache License 2.0


Languages

Language:Kotlin 99.5%Language:Java 0.5%