This is the simple Android weather app that shows current weather and forecast from openweathermap.org. It was developed as part of the interview process.
Screenshots: Screenshots
The app shows current weather and forecast based on users current location. It has settings where user can set the units of temperature or distance. Also user can set what kind of images wants to show:
- Static images based on current weather (saves data usage)
- Dynamic images loaded from Flickr API, based on current weather
- Dynamic images loaded from Flickr API, based on current weather and approximate location
- Dynamic images loaded from Flickr API, based on currently selected location
Users also can search for location and add them as favourite for future easy access.
Possible feature updates:
- Swipe to delete favourited location (now is implemented as OnItemLongClickListener)
- Touch & hold to change position of the location in the list
- Widget
- Add bing images and other free image services
- Handle flickr unavaiable servers
- Custom photos of various type of weather on different kind of season of the year
This is the main configuration file and there are some important constants: addresses to API endpoints, API keys to 3rd party services etc. Make sure that all constants are set up properly.
This is the main build script and there are 4 important constants for defining version code and version name.
- VERSION_MAJOR
- VERSION_MINOR
- VERSION_PATCH
- VERSION_BUILD
See Versioning Your Applications in Android documentation for more info.
There are also a build config fields in this script. Check "buildTypes" configuration and make sure that all fields are set up properly for debug and release. It is very important to correctly set these true/false switches before building the APK.
- LOGS - true for showing logs
- DEV_API - true for development API endpoint
Important: Following configuration should be used for release build type, intended for publishing on Google Play:
buildConfigField "boolean", "LOGS", "false"
buildConfigField "boolean", "DEV_API", "false"
- Volley
- OrmLite
- Recyclerview-animators
- Google Play Services
- AppCompat
- Android Support Library v4
- GSON
- FloatingActionButton
- ParallaxPagerTransformer
- CircleIndicator
Stepan Sanda