An android application which uses NewsAPI for listing news.
If the app cannot list news, check the API key on build.gradle.kts(:app).
buildConfigField("String", "NEWS_API_KEY", "\"860eaf0ada084fea80bc2ea8480dc0af\"")
- News Listing Feature
- Caching Results (Offline Capability)
- Pull to Refresh
- Unit Tests
- 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
- The project uses MockWebServer (scriptable web server) to test API interactions.