Simple news app to implement the mvvm architecture using the News API.
- Room as persistance library
- JUnit 5 as test library
- RxAndroid An API for asynchronous programming with observable streams in android
- RxJava An API for asynchronous programming with observable streams in Java
- Retrofit for network request
- Okhttp for application and network interception and others
- Java (Java 8)
- Android Studio
-
Clone the repo
git clone https://... && cd ...
-
Build with gradle
-
Add api key and base url to local.properties file.
app.api_key=<your-api-key> app.base_url="https://newsapi.org/v2/"
-
Rebuild project
-
Run
The testing relies on the default JUnit 5 framework and utilizes also some additional tools.
Implement unit tests to any pure function that does something critical to the UI. Testing reducer functions may be actually convenient and a faster way to verify they're working properly (instead of trial-and-error during development).