- This project is an android weather app application for CIT 591 Intro to Software Engineering, University of Pennsylvannia. Authors: Jiaying Guo, Yilin Sun, Xueyuan Yu
Use 4 OpenWeatherMap APIs to get current and weather forecast information of different locations and cities. Run multiple Expresso and Junit tests on the application and use PIXELXL and NEXUS emulators for running and testing the app.
You need to generate your own API key and add it into 4 API.java files before making the calls.
- https://samples.openweathermap.org/data/2.5/weather?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22 (current by city namesgeo-coordinates)
- https://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b6907d289e10d714a6e88b30761fae22 (current by city names)
- https://samples.openweathermap.org/data/2.5/forecast?lat=35&lon=139&appid=b6907d289e10d714a6e88b30761fae22 (5-day 3-hour forecast by geo-coordinates)
- https://samples.openweathermap.org/data/2.5/forecast?q=London,usl&appid=b6907d289e10d714a6e88b30761fae22 (5-day 3-hour forecast by city names)
- GPS Positioning
Ask for user's permission to access their GPS information and apply LocationServices class to get user's current location. When user press the Get Current Location button and jump to the view with current day's weather info of user's location.
- City Search
User enter a city name in the main page, and press Search button. Then they will enter the page with current day weather info and 4-day forecasts of that city.
- Current Weather Info
Use the OpenWeatherMap API to get instant weather information of specified locations and cities. Display in search views and current location's views
- Future 4 days forecast info
Define a swipe gesture listener and generic API call class. User can swipe right to check out forecast on future days after entering the page with current location's weather. However, all infos are displayed on the same page when user enter the search view.