Skip to content

yash786agg/PagingKotlin

Repository files navigation

PagingKotlin

The Paging Library helps you in the loading of heavy-data with endless scrolling or infinite scrolling.
You can load and display small chunks of data at a time which can eventually reduce the usage of network bandwidth and system resources.

License API

Download

Go to the Demo APK to download the latest APK.

Tech stack & Open-source libraries

  • Minimum SDK level 21
  • Kotlin based + Coroutines for asynchronous.
  • Dagger-Hilt for dependency injection.
    • Hilt Data Binding - Implementing a binding adapter using the Android Data Binding Library.
  • JetPack
    • LiveData - notify domain layer data to views.
    • Lifecycle - dispose of observing data when lifecycle state changes.
    • ViewModel - UI related data holder, lifecycle aware.
  • Architecture
    • MVVM Architecture (View - DataBinding - ViewModel - Model)
  • Retrofit2 & OkHttp3 - construct the REST APIs and paging network data.
  • Gson - A JSON serialization/deserialization library for Kotlin and Java.
  • Fresco - A Image loading library.
  • Paging3.0 - A Paging Library helps you load and display small chunks of data at a time.
  • Material-Components - Material design components like ripple animation, cardView.

Architecture

The application is based on MVVM architecture and a repository pattern.

architecture

Open API

PagingKotlin using the FlickrAPI for constructing restful API.
FlickrAPI provides a restful API for image and video service, as well as an online community.

Thanks for reading this repo. Be sure to click ★ below to recommend this repo if you found it helpful. It means a lot to me.

For more about programming, follow me on Medium

Also, Let’s become friends on Linkedin

License

Designed and developed by yash786agg (Yash Agarwal)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.