This is a simple project that uses 'Views UI' and 'Jetpack Paging3'.
And use GitHub Rest API
All library info : libs.versions.toml
- AAC-ViewModel Combined with the screen, it maintains screen state and handles UI state and screen rotation events.
- Coroutine Asynchronous Task. Used 'Flow' to make data flow and reflect it in the UI.
- Jetpack
- Hilt Dependency Injection
- Room
- Focused on implementing functionality by leveraging SQLite wrapped in an abstraction layer, and combined 'Flow' to implement UI interaction more easily.
- Pagning3 is Load large datasets efficiently
- PagingSource is Load network data to make pagination
- RemoteMediator - Apply Cache Process with Room
- Network by okhttp3 + retrofit2
Multi Module Architecture, Reference by android/nowinandroid
Domain Layer, Reference by Domain Layer Docs
Work Focused
- Define feature specification
- Programming on the repository layer or feature layer, By domain layer specification.
- Programming in ‘UseCase’ units
- And code abstraction
RemoteMediator is use 'Paging3 + Room'.
It helps you navigate apps smoothly even in unstable internet environments.
MVVM Design pattern with Dependency Injection, Reference by App Arhitecture Guide
create your access token
and input your access token in 'local.properties'
Copyright 2023 winter-love-dev
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.