Skip to content

jaym21/NewsNow

Repository files navigation



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 📖