NewsApp
NewsApp is a an android project based on modern Android application tech-stacks and MVVM architecture.
This project is for focusing especially on the new jetpack libraries.
Also fetching data from the network and integrating persisted data in the database via repository pattern.
Libraries and tech used
- Minimum SDK level 23
- Kotlin based, Coroutines for asynchronous handling.
- Hilt (stable) for dependency injection.
- JetPack
- LiveData - notify domain layer data to views.
- Lifecycle - observing data when lifecycle state changes.
- ViewModel - lifecycle aware UI related data holder.
- Room Persistence - construct a database to store news article.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Retrofit2 & OkHttp3 - for REST APIs and network data.
- Gson - A JSON library for parsing network response.
- Glide - loading images.
- Material-Components - Material design components for CardView, ShapeableImageView.
API
The project uses NewsApi. If you want to run the project then obtain an API key from NewsApi and paste it in app level -> build.gradle
, like this API_KEY = "YOUR_API_KEY"
License
Designed and developed by 2021 Amit Dixit
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.