Skip to content

gunishjain/WallpaperApp

Repository files navigation

Wallpaper Changing Application

A Wallpaper Changing Application that allows users to fetch latest wallpapers and apply to homescreen and lockscreen, also allows user to save it locally. It is following MVVM Architecture with Jetpack Components.

Download App: https://play.google.com/store/apps/details?id=com.gunishjain.wallpaperapp

Major Highlights

  • MVVM Architecture
  • Kotlin
  • Dagger Hilt
  • Retrofit
  • Coroutines
  • LiveData
  • Viewbinding
  • Pagination
  • Room

Features Implemented

  • Fetching Latest Wallpapers
  • Fetch Wallpapers Based on Categories
  • Instant Searching of Wallpapers
  • Saving Wallpapers locally using ROOM DB
  • Download and Set Wallpapers
  • Inapp Updates for Playstore

Dependency Used:

  • Recycler View for listing
implementation "androidx.recyclerview:recyclerview:1.3.1"

  • Glide for image loading
implementation 'com.github.bumptech.glide:glide:4.15.1'
  • Retrofit for networking
implementation("com.squareup.retrofit2:retrofit:2.9.0")
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation("com.squareup.okhttp3:logging-interceptor:4.11.0")
  • Android Lifecycle aware component
implementation 'androidx.fragment:fragment-ktx:1.6.0'
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.6.1"
  • Dagger Hilt for dependency Injection
implementation "com.google.dagger:hilt-android:2.44"
kapt "com.google.dagger:hilt-compiler:2.44"
  • For RoomDB
implementation "androidx.room:room-runtime:2.5.2"
kapt("androidx.room:room-compiler:2.5.2")
implementation("androidx.room:room-ktx:2.5.2")
  • Card View and Size Unit
implementation("androidx.cardview:cardview:1.0.0")
implementation 'com.intuit.sdp:sdp-android:1.1.0'
implementation 'com.intuit.ssp:ssp-android:1.1.0'
  • Paging library
implementation "androidx.paging:paging-runtime:3.1.1"
  • In App Updates
implementation 'com.google.android.play:app-update:2.1.0'
implementation 'com.google.android.play:app-update-ktx:2.1.0'

Complete Project Structure

├───data
│   ├───api
│   ├───db
│   ├───models
│   └───repository
├───di
├───paging
├───ui
│   ├───activities
│   ├───adapters
│   ├───fragments
│   └───viewmodels
└───util
MyApp.kt

Screenshots

Important

Wallpapers are fetched from Pexels API: https://www.pexels.com/api/

About

A simple wallpaper changing application using MVVM architecture

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages