
Learn how to add a permission to enable a function that uses the internet in the paging 3 android library, and understand the system conditions that govern internet use.
Learn to observe load state changes in paging 3 with the adaptor LoadStateListener, coordinating remote and local sources and handling loading progress and errors.
Create a task entity with a primary key and column mappings, organize the code in a dedicated package, and align the entity with API response fields.
Create and extend a database service by building the asylum seeker service. Implement an abstract function and a non-abstract function, manage the instance, and ensure secure access with synchronization.
Create and implement an entity mapper to convert models to database entities and map lists before inserting into the database.
Explore flow remote mediator in the paging 3 Android library, implementing policies, handling initial and end paging with next page keys, and loading from local data or a service.
Implement flow remote mediator in a view model using the paging 3 android library to load data from network and manage paging state within a fragment.
Implement an RxJava remote mediator viewmodel to coordinate a network service, manage data flow via subscriptions, and feed an adapter for paging in Android.
Learn to implement a RecyclerView adapter with the Android paging 3 library, wiring a fragment to load and paginate data, and test local database and remote mediator flows.
Learn to implement a UI model adaptor for paging 3, handling old and new items, binding and unbinding, and managing item transitions with on create logic.
The Paging 3 library helps you load and display pages of data from a larger dataset from local storage or over network. This approach allows your app to use both network bandwidth and system resources more efficiently. The components of the Paging 3 library are designed to fit into the recommended Android app architecture, integrate cleanly with other Jetpack components, and provide first-class Kotlin support.
By the end of this course, you will have a good understanding of Paging 3 library and will be able to implement it in your own project. We will cover the topic on Paging Source, Remote Mediator, Load State, Header, Footer, UI Models etc. We well cover both Kotlin Flow and RxJava with Paging 3 library.
This course is fully practical and we will build an Android application from scratch. We will be using a MVVM architecture and we will use the Android library like Retrofit, Room, Coroutines, Flow, RxJava, Timber etc.
The Paging 3 library includes the following features:
In-memory caching for your paged data. This ensures that your app uses system resources efficiently while working with paged data.
Built-in request deduplication, ensuring that your app uses network bandwidth and system resources efficiently.
Configurable RecyclerView adapters that automatically request data as the user scrolls toward the end of the loaded data.
First-class support for Kotlin coroutines and Flow, as well as LiveData and RxJava.
Built-in support for error handling, including refresh and retry capabilities.