Skip to content

A simple photo list app in Kotlin, Android using Picsum image API.

Notifications You must be signed in to change notification settings

EsracanGungor/PhotoListApp

Repository files navigation

PhotoListApp

PhotoListApp demonstrates modern Android development with Coroutines, Coil, ViewModel, ViewBinding and Material Design based on MVVM architecture.


Splash Screen Page Photo List Page Photo Detail Page

Functionality

The app's functionality includes:

  1. Fetch a list of images from picsum photos api (https://picsum.photos/) and shows them in RecyclerView.
  2. When an image is selected from the RecyclerView, the author of the image will load the image along with its height information.
  3. The app supports SwipeRefreshLayout to refresh RecyclerView content from remote source.

Tech Stack & Open-source Libraries

  • Minimum SDK level 21
  • Kotlin, Android appcompat
  • Coroutines for asynchronous operations and Network call .
  • Lifecycle for observe Android lifecycles and handle UI states upon the lifecycle changes.
  • ViewModel for manage UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
  • DataBinding for bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
  • Android View Binding
  • Retrofit2 for REST API communication.
  • Coil for loading images from network.
  • Swipe Refresh Layout for refresh RecyclerView content.
  • Navigation

Architecture

PhotoListApp is based on the clean architecture with MVVM(Model - View - View Model) design pattern.

Download

Go to the Releases to download the APK.