PagingRoom

by jshvarts

jshvarts /PagingRoom

Demonstrates various ways of using Paging library with Room (LiveData, RxJava, custom datasource)

140 Stars 21 Forks Last release: Not found Apache License 2.0 16 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Paging Library Architecture Component Demo

Build Status Android Weekly

Companion article: Exploring Paging Library from Jetpack

This project contains a sample of using the Paging Library Architecture Component by way of a simple Notes app--no domain knowledge needed to understand the purpose of this app.

Libraries

App Design

The app follows Clean Architecture Principles to make it cleaner, more readable and maintainable. * Separate layers: Data, Domain, Presentation and UI * MVVM architecture for clean separation between UI and Presentation and below * Repository pattern * Mapping model between data and domain (

NoteEntity
and
Note
)

Branches

1) master -- common setup with no paging used 2) room-livedata -- paging using

LiveData
and default
DataSource
3) room-rxjava -- paging using
RxJava
and default
DataSource
4) room-livedata-custom-datasource -- paging using
LiveData
and custom
ItemKeyedDataSource
5) room-livedata-custom-datasource-koin -- paging using
LiveData
and custom
ItemKeyedDataSource
with Koin

License

Copyright 2018 James Shvarts

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.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.