Skip to content

An offline-first Android Application that consumes the PixarBay Api to display Images. It is built using the Repository and MVVM patterns as well as Architecture Components.

Notifications You must be signed in to change notification settings

CollinsGichuki/PixarBayApp

Repository files navigation

PixarBay Application

An Android app consuming the Pixabay API to display Images. It is built using the Repository and MVVM patterns as well as Architecture Components.

Min Api Level : 21 Supports over 87% devices

Build System : Gradle


Table of contents


Prerequisite

After cloning the repo, visit Pixabay and get an api key. Create a file apikey.properties and save the api key in it like so.

API_KEY="#########################"


Testing

Work In Progresss 🚧


Libraries

  • Jetpack🚀

    • ViewModel - Manage UI related data in a lifecycle conscious way and act as a channel between the repository and the ui
    • ViewBinding - support library that allows binding of UI views by providing a binding class that contains direct references to all views that have an ID in the corresponding layout.
    • Room - Provides abstraction layer over SQLite
    • LiveData - a life-cycle aware observable data holder class
  • Coroutines - a concurrency design pattern that you can use on Android to simplify code that executes asynchronously

  • Flow - a type that can emit multiple values sequentially, as opposed to suspend functions that return only a single value.

  • Retrofit - type safe http client and supports coroutines out of the box.

  • Gson - A Java serialization/deserialization library to convert Java Objects into JSON and back.

  • ok-http-logging-interceptor - intercepts the request and adds the api key

  • Glide - An image loading and caching library for Android focused on smooth scrolling

  • Dagger-Hilt - Lightweight dependency injection library for android.

Twitter: @_snillock

About

An offline-first Android Application that consumes the PixarBay Api to display Images. It is built using the Repository and MVVM patterns as well as Architecture Components.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages