jaym21 / NewsNow

Android app to get news.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool



Features ๐Ÿ’ก

  • News Now is an Android app to read news.
  • News are available in 7 categories which are General, Business, Entertainment, Sports, Health, Science and Technology.
  • App theme can be changed between light and dark mode using a simple switch.
  • Full news article can be read inside the app by just clicking on the article.
  • News article link can be shared to other apps.
  • News are cached using room database, so when app is launched with no internet cached news is displayed.

Screenshots ๐Ÿ“ธ


Light Mode ๐ŸŒž Dark Mode ๐ŸŒ‘ News Article Open In App

Built With ๐Ÿ› 

  • Kotlin - First class and official programming language for Android development.
  • Coroutines - For asynchronous and more.
  • Flow - A flow is an asynchronous version of a Sequence, a type of collection whose values are lazily produced.
  • Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
    • LiveData - Data objects that notify views when the underlying database changes.
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
    • Navigation - Navigation is a framework for navigating between โ€˜destinationsโ€™ within an Android application
    • 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.
    • DataStore - Jetpack DataStore is a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. DataStore uses Kotlin coroutines and Flow to store data asynchronously, consistently, and transactionally.
  • Dependency Injection -
    • Hilt-Dagger - Standard library to incorporate Dagger dependency injection into an Android application.
    • Hilt-ViewModel - DI for injecting ViewModel.
  • Retrofit - A type-safe HTTP client for Android and Java.
  • Moshi - A modern JSON library for Kotlin and Java.
  • Moshi Converter - A Converter which uses Moshi for serialization to and from JSON.
  • Glide - Glide is a fast and efficient open source media management and image loading framework for Android
  • Material Components for Android - Modular and customizable Material Design UI components for Android

Credits ๐Ÿ“–