Skip to content

Save and share your favorite dog pictures from the Dog API. Android app made in Kotlin.

Notifications You must be signed in to change notification settings

jason1985/DoggyApp

Repository files navigation

DoggyApp

Demo on Emulator

demo

Demo on Android Phone

android_device_demo.mp4

MainActivity Screenshot

ss

Gallery Screenshot

ss2

Favorites Screenshot

ss3

Current Functionality

Dependencies

  • retrofit -> used to make api calls to the dog api
  • glide -> used to display pictures from urls received from dog api
  • room -> used to access local SQLite Database
  • coroutines -> used to make IO calls to database and api without locking the Main thread
  • dagger - hilt -> used to do dependency injection providing a Singleton instance of local database and retrofit

Screens

  • Main/Home Screen - Displays lists of all breeds and sub breeds
  • Gallery Screen - Shows pictures of currently selected breed
  • Favorites Screen - Shows all of your saved favorites with option to remove from favorites
  • Email Dialog - Opens after clicking on the floating action button. It allows you to share your favorites via email

Other Features

  • Favorites persist between reloads of the app
  • Favorite Dog Images can be viewed even when offline

Error Handling

  • If by chance one of the api call fails, a toast message will be displayed with the error message

TODO

  • add testing
  • download all images of breed with progress bar using background woker
  • update app to use MVVM pattern

About

Save and share your favorite dog pictures from the Dog API. Android app made in Kotlin.

Resources

Stars

Watchers

Forks

Languages