Simple Android app made for practice. I used this REST API as my data provider and Retrofit as my networking library.
Note: I'm working on refactoring api calls to coroutines, but still learning how to properly test them. You can see my work so far on this branch.
App consists of 2 screens(Activity):
- Country browser screen
- Country detail screen
This activity is based on recycler view. Unfortunately the api provides flags in SVG format, which is a bit problematic in Android. That's why I used GlideToVectorYou library to download flag images.
Of course there is a feature to search country by name, to animate this I implemented DiffUtil. Here are the screen shots of it:
Clicking on country takes you to detail screen with shared element(the country flag) transition.
This activity is based on ConstraintLayout. It is build on in three parts: country header with flag and name, Google maps centered on the country and some additional country info. I believe that hiding additional info part for example with swipe gesture or on map touch would massively improve the UX of this screen. Making the map bigger if needed and bringing some live to this activity. I'm looking forward to doing so, I'm just waiting for some free time.
Here is a screen shot of it: