NewsApp
An android application which uses NewsAPI for listing news.
Prerequisites
1. Check the App
If the app cannot list news, check the API key on build.gradle.kts(:app).
buildConfigField("String", "NEWS_API_KEY", "\"860eaf0ada084fea80bc2ea8480dc0af\"")
2. Ready to run.
Features
- News Listing Feature
- Caching Results (Offline Capability)
- Pull to Refresh
- Unit Tests
Tech Stack
- Kotlin – Officially supported programming language for Android development by Google
- Kotlin DSL – Alternative syntax to the Groovy DSL
- Coroutines – Perform asynchronous operations
- Flow – Handle the stream of data asynchronously
- Android Architecture Components
- LiveData – Notify views about data changes
- Room – Persistence library
- ViewModel – UI related data holder
- ViewBinding – Allows to more easily write code that interacts with views
- Hilt – Dependency Injection framework
- Retrofit – Networking library
- Moshi – A modern JSON library for Kotlin and Java
Local Unit Tests
- The project uses MockWebServer (scriptable web server) to test API interactions.