Image Gallery displays a gallery of the image in a staggered grid layout, and when you tap the image, it gives you the detail of each image. You can also download images by tapping download button.
This app uses images from pixabay.com
Icon made by Dave Gandy from www.flaticon.com
Icon made by Freepik from www.flaticon.com
-
Android Architecture Components
- Paging - Load and display small chunks of data at a time.
- Lifecycles - Create a UI that automatically responds to lifecycle events.
- ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
- LiveData - Build data objects that notify views when the underlying database changes.
- Navigation - Handle everything needed for in-app navigation.
- Data Binding - Declaratively bind observable data to UI elements.
-
Retrofit for REST api communication
-
Moshi for parsing JSON into Kotlin objects
-
Glide for image loading
-
Kotlin Coroutines for managing background threads with simplified code and reducing needs for callbacks.
Apache, see the LICENSE file.
Copyright 2019 Soojeong Shin
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.