https://github.com/philippeboisney/githubarchitecturecomponents
The implementation of Android "Architecture Components" sample explained by Google : https://developer.android.com/topic/libraries/architecture/guide.html
https://github.com/philippeboisney/githubarchitecturecomponents
android architecture-components dagger2 java livedata retrofit2 viewmodel
Last synced: 5 months ago
JSON representation
The implementation of Android "Architecture Components" sample explained by Google : https://developer.android.com/topic/libraries/architecture/guide.html
- Host: GitHub
- URL: https://github.com/philippeboisney/githubarchitecturecomponents
- Owner: PhilippeBoisney
- Created: 2018-03-02T12:42:00.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2020-09-23T20:46:40.000Z (about 5 years ago)
- Last Synced: 2025-04-09T15:08:26.283Z (8 months ago)
- Topics: android, architecture-components, dagger2, java, livedata, retrofit2, viewmodel
- Language: Java
- Size: 1.22 MB
- Stars: 301
- Watchers: 11
- Forks: 80
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GithubArchitectureComponents
This application is my implementation of the Architecture Components use-case : https://developer.android.com/topic/libraries/architecture/guide.html
You can find the related article on my Medium : https://medium.com/@Phil_Boisney/the-missing-google-sample-of-android-architecture-components-guide-c7d6e7306b8f
## PRESENTATION
This simple app is composed of a single screen. When this screen appears, we will fetch (Retrofit) the Github information of Jake Wharton and persist those immediately in the application storage (Room).
Next, when the screen is re-launched (or recreated due to rotation), we will get those same information, *first* in Room database and only if necessary, refresh those from the Github Api.
## PREVIEW
### Architecture Components
This application implements the following concepts :
- ViewModel
- LiveData
- Room
### Libraries
* [Android Support Library][support-lib]
* [Android Architecture Components][arch]
* [Dagger 2][dagger2] for dependency injection
* [Retrofit][retrofit] for REST api communication
* [Glide][glide] for image loading
[support-lib]: https://developer.android.com/topic/libraries/support-library/index.html
[arch]: https://developer.android.com/arch
[dagger2]: https://google.github.io/dagger
[retrofit]: http://square.github.io/retrofit
[glide]: https://github.com/bumptech/glide