As part of SWE 690 Capstone Project course, QuakeNWeather Android Application was developed for final term project.
QuakeNWeather Android Application retrieves quake information from the free APIs available at https://earthquake.usgs.gov/ and displays it in user-readable formats like list view, map view and statistics view.
QuakeNWeather Android Application retrieves weather information from the free APIs available at https://openweathermap.org/api and displays it in user-readable format.
- Clone the repository and import the project in Android Studio
- Get your google api key by following steps on https://developers.google.com/maps/documentation/android-api/signup
- Save your YOUR-GOOGLE-API-KEY in AndroidManifest.xml under
meta-data
android:name="com.google.android.geo.API_KEY"
android:value="YOUR-GOOGLE-API-KEY" - Save your YOUR_API_KEY in gradle.properties as GOOGLE_MAPS_API_KEY=YOUR_API_KEY
- Save your YOUR-GOOGLE-API-KEY in AndroidManifest.xml under
- Get your Open Weather API Key by signing up on https://openweathermap.org/api
- Save your YOUR-WEATHER-API-KEY in AndroidManifest.xml under
meta-data
android:name="org.openweathermap.APP_ID"
android:value="YOUR-WEATHER-API-KEY"
- Save your YOUR-WEATHER-API-KEY in AndroidManifest.xml under
QuakeNWeather has total 10 screens (views/activities) ...
-
MainActivity (Quakes) :
- Displays the latest quakes information as per filters defined in settings page
- User can also refresh the data by click on refresh button in tool bar
- Depending on the magnitude of the quake, the quake information is color-coded
- User can click on individual quake entry to get detailed information about the quake
- From this screen user can go to ...
- About Us
- Settings
- View Quakes
- Quake Statistics
- Quake Details
- Search
-
QuakeMapActivity (View Quakes) :
- Plots the quakes on google map as per filters defined in settings page
- User can also refresh the data by click on refresh button in tool bar
- Depending on the magnitude of the quake, the quake marker is color-coded
- User can click on individual quake marker to get high-level information about the quake
- User can click on individual quake info window to get detailed information about the quake
- From this screen user can go to ...
- View Quakes
- Settings
-
QuakeStatisticsActivity (Quake Statistics) :
- Displays the no. of quakes today, this week and this month as per filters defined in settings page
- User can also refresh the data by click on refresh button in tool bar
- From this screen user can go to ...
- View Quakes
- Settings
-
QuakeDetailsActivity (Quake Details) :
- Displays the detailed information about the quake on View Quake screen
- Provides a link to USGS website for more information about the selected quake
- From this screen user can only go back to View Quakes (MainActivity)
-
QuakeSearchActivity (Search) :
- Gives capability to search city (uses Trie for recommendations) with quake
- User can also refresh the data by click on refresh button in tool bar
- Depending on the magnitude of the quake, the quake marker is color-coded
- User can click on individual quake info window to get detailed information about the quake
- From this screen user can only go back to Latest Quakes (MainActivity)
- From this screen user can go to ...
- Quake Details
- Settings
-
SettingsActivity (Settings) :
- Displays the following user settings
- QUAKE FILTERS
- Default Magnitude Filter
- 1.0+
- 2.0+
- 3.0+
- 4.0+
- 4.5+
- 5.0+
- 5.5+
- 6.0+
- 6.5+
- 7.0+
- 7.5+
- Default Date Filter
- Last Hour
- Today
- Last 24 Hr
- This Week
- Default Magnitude Filter
- DATA CUSTOMIZATION
- Distance Units
- Miles
- Kilometers
- Distance Units
- TEMPERATURE FORMAT
- Temperature Units
- Celsius
- Fahrenheit
- Temperature Units
- DEBUGGING DATA
- Device Information
- Error Information
- QUAKE FILTERS
- From this screen user can go to the screen from where settings was selected.
- Settings are available on following pages ...
- Latest Quakes
- View Quakes
- Quakes Statistics
- Search City
- Displays the following user settings
-
WeatherActivity (Weather) :
- Displays information about author and android application
- From this screen user can only go back to Latest Quakes (MainActivity)
-
WeatherDetailsActivity (Weather Details) :
- Displays information about author and android application
- From this screen user can only go back to Latest Quakes (MainActivity)
-
AboutUsActivity (About Authors and Application) :
- Displays information about author and android application
- From this screen user can only go back to Latest Quakes (MainActivity)
Here is how the code is organized in respective packages.
QuakeNWeather Android Application stores the information about when the application is installed on the mobile device and when did the user last viewed quake data in the application.
This information is displayed in About Us screen of the android application.
QuakeNWeather Android Application stores any error information in database so that it can be shared with developer when the user of android application wants to provide feedback.
This information is appended to the feedback email which any user of the android application can send to developer.
User of android application can decide whether he/she would like to share the error information by toggling permissions in Settings.
Database | ScreenShot |
---|---|
Registration | |
Error |
NOTE: Installed date is captured when the app is opened for the first time and not actual installation date.
Depending on the magnitude of the quake, data in MainActivity and google markers in QuakeMapActivity are color coded as follows.
Sr. No. | Magnitude | MainActivity Text Color | QuakeMapActivity Google Marker |
---|---|---|---|
1. | 0.0 – 3.5 | #00FF00 | HUE_GREEN |
2. | 3.5 – 5.5 | #FF6347 | HUE_ORANGE |
3. | 5.5 – Above | #FF0000 | HUE_RED |
All main screens i.e. MainActivity, QuakeMapActivity, QuakeStatisticsActivity and QuakeSearchActivity have refresh icon in the tool bar, which refreshes data on the screen.
MainActivity, QuakeStatisticsActivity and QuakeSearchActivity have smart footer, which displays the time when data was refreshed and filters set in Settings.
Weather icons are fetched from Open Weather API documented on https://openweathermap.org/weather-conditions as per weather conditions.
For Quake related screens, this course project has been influenced from https://play.google.com/store/apps/details?id=com.joshclemm.android.quake
It is not a replica or replacement of the above-mentioned Android Application.
This is just a course project and source of data is from the free APIs at https://earthquake.usgs.gov/ and https://openweathermap.org/.
Please do not use this for reference for quake alert or analysis, instead directly go to https://earthquake.usgs.gov/.