Skip to content

A sample to showcase Kotlin, MVVM, Navigation, Coroutines, Room, WorkManager, Retrofit and DataBinding.

Notifications You must be signed in to change notification settings

gnarbaiz/sample-app

Repository files navigation

News-Cache

A sample to showcase Kotlin, MVVM, Navigation, Coroutines, Room, WorkManager, Retrofit and DataBinding.

Features

  • MVVM Architecture + Repository design Pattern.
  • Jetpack Libraries and Architecture Components.

Prerequisites

Add your News api key in the local.properties file:

news_api_key=YOUR_NEWS_API_KEY

Libraries

  • Android Jetpack
    • ViewModel ViewModel is designed to store and manage UI-related data in a lifecycle conscious way. This allows data to survive configuration changes such as screen rotations.
    • DataBinding is a Library in the support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
    • LiveData is lifecycle-aware, meaning it respects the lifecycle of other app components updating app component observers that are in an active lifecycle state.
    • Navigation Android Jetpack's Navigation component helps you implement effective navigation.
    • Room is a library for data storage persistence which provides an abstraction layer over SQLite.
    • WorkManager allows you to schedule work to run one-time or repeatedly.
  • Picasso is a powerful image downloading and caching library for Android.
  • Kotlin coroutines Executing code asynchronously.
  • Retrofit is a Type-safe HTTP client for Android, Java and Kotlin by Square.
  • Moshi is a modern JSON library for Android and Java. It makes it easy to parse JSON format data.
  • OkHttp interceptor Logs HTTP requests and responses.
  • Material Design Build beautiful, usable products using Material Components for Android.

About

A sample to showcase Kotlin, MVVM, Navigation, Coroutines, Room, WorkManager, Retrofit and DataBinding.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages