Companion article: Exploring Paging Library from Jetpack
Demonstrates using Paging Library with LiveData
and default DataSource
.
- master -- common setup with no paging used
- room-livedata -- (this branch) paging using
LiveData
and defaultDataSource
- room-rxjava -- paging using
RxJava
and defaultDataSource
- room-livedata-custom-datasource -- paging using
LiveData
and customItemKeyedDataSource
- Paging Library
- Room Persistence Library
- Navigation Architecture Component
- Lifecycle Arch components
- Dagger Android 2.17
- RxJava
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
andNote
)
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.