How dev-aniketj/weatherapp-android works
This Android weather app uses device location or a city search to obtain coordinates, then requests current and forecast weather from OpenWeather and displays it. HomeActivity owns the main interaction and current-weather request; DaysAdapter independently requests daily forecast data for its list. The README documents current, hourly, daily, alert, and historical data available from One Call, though the sampled implementation confirms current and daily display only. Source excerpts do not show every HomeActivity call site, so unsampled integrations are omitted.
Main entry points: HomeActivity.java Weather screen · DaysAdapter.java Daily forecast list · URL.java API URL builder · LocationCord.java Location coordinates
Components 14
App experience
- Splash screen
app/src/main/java/com/aniketjain/weatherapp/SplashScreen.java - Weather screen
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - Daily forecast list
app/src/main/java/com/aniketjain/weatherapp/adapter/DaysAdapter.java
Location lookup
- Android location
- City geocoder
app/src/main/java/com/aniketjain/weatherapp/location/CityFinder.java - Location coordinates
app/src/main/java/com/aniketjain/weatherapp/location/LocationCord.java
Weather data
- API URL builder
app/src/main/java/com/aniketjain/weatherapp/url/URL.java - OpenWeather API
- Weather presentation
app/src/main/java/com/aniketjain/weatherapp/update/UpdateUI.java
App support
- Network check
app/src/main/java/com/aniketjain/weatherapp/network/InternetConnectivity.java - User notifications
app/src/main/java/com/aniketjain/weatherapp/toast/Toaster.java
Other components
- User
- Speech recognition
- Google Play updates
Connections 17
- User → Splash screen: opens app
app/src/main/java/com/aniketjain/weatherapp/SplashScreen.java - Splash screen → Weather screen: starts after delay
app/src/main/java/com/aniketjain/weatherapp/SplashScreen.java - User → Weather screen: searches or refreshes
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - Weather screen → Android location: gets last location
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - Weather screen → City geocoder: resolves coordinates and city
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - City geocoder → Location coordinates: sets coordinates
app/src/main/java/com/aniketjain/weatherapp/location/CityFinder.java - Weather screen → Location coordinates: sets city coordinates
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - Weather screen → API URL builder: builds request URLs
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - Daily forecast list → API URL builder: builds forecast URL
app/src/main/java/com/aniketjain/weatherapp/adapter/DaysAdapter.java - API URL builder → Location coordinates: reads coordinates
app/src/main/java/com/aniketjain/weatherapp/url/URL.java - Weather screen → OpenWeather API: requests city and current weather
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - Daily forecast list → OpenWeather API: requests daily weather
app/src/main/java/com/aniketjain/weatherapp/adapter/DaysAdapter.java - Daily forecast list → Weather presentation: formats forecast display
app/src/main/java/com/aniketjain/weatherapp/adapter/DaysAdapter.java - Weather screen → Network check: checks connection
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - Weather screen → User notifications: shows errors
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - Weather screen → Speech recognition: launches speech input
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java - Weather screen → Google Play updates: checks app updates
app/src/main/java/com/aniketjain/weatherapp/HomeActivity.java