Good app display next 5 days weather conditions example: http://api.openweathermap.org/data/2.5/weather?q=London,uk&APPID=7d85604d75067f7a0da53ac8f70c5364
Cites API: https://community.algolia.com/places/api-clients.html
Designed by Chiara Giorgiutti
I can improve the app:
- introducing dagger2 for DI
- Introducing RxJava
- memory management, performance tuning and profiling tools (LeakCanary, AndroidProfiler)
Follow this instructions
Follow this instructions
./gradlew test
command to run unit tests
Before launching instrumented test you have to set up you test environment as described here: Google developers guide
./gradlew connectedAndroidTest
command to run instrumented tests
- Kotlin (Coroutines, completion handler)
- MVVM
- Dependency Injection
- Retrofit2 - as HTTP client
- Moshi
- Room - for persistence layer
- Glide - for image loading.
- LruCache - for caching data
- LiveData - use LiveData to see UI update with data changes.
- Espresso for instrumented tests
- DataBinding
- follow the rules from Architecture guidelines recommended by Google.
- use latest Android Components, like ViewModel and LiveData.
- use Kotlin Coroutines for async tasks.
- keep Activity only responsible for UI related code.
- ViewModel provides data required by the UI class.
- Repository Layer provides data to ViewModel classes. (single source of truth)
- unit tests for testing the main logic.