Skip to content

nwhacks2018/Android-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WiFind (nwHacks 2018): Android Application

By Luminescence

Build Status License

Android 8.0 (API level 26) application to automanage and autoconnect to crowdsourced public Wi-Fi networks.

Setup Instructions

Codebase

Clone the repository and navigate into the directory:

git clone https://URL.git
cd REPO/

Android

Install Android Studio and import the project.

Google Maps API Key

Generate a Google Maps SDK API key (step 1).

Duplicate the Google Maps API key template file to hold the API key:

cp Rebuild/app/src/debug/res/values/google_maps_api_template.xml Rebuild/app/src/debug/res/values/google_maps_api.xml

cp Rebuild/app/src/release/res/values/google_maps_api_template.xml Rebuild/app/src/release/res/values/google_maps_api.xml

Choose the debug/ folder for development, or the release/ folder for release.

In the new file google_maps_api.xml, uncomment the line with the key and replace the value of the placeholder with your API key. This new file will not be tracked by Git.

Build and run the Android application on a physical or virtual device.

Creating a Production Release

Step 1: Building a Release Variant

Create a new file in the root directory to hold the secure keystore details:

cp keystore.properties.template keystore.properties

This file will be ignored by Git. Set your keystore information in this file.

Under Build, click Select Build Variant.

In the Build Variants view which appears, change the Active Build Variant from debug to release.

Build the application normally to your phone. The keystore credentials will be verified and applied.

Step 2: Creating the Signed App

Under Build, click Generate Signed Bundle / APK.

Follow the instructions, inputting your keystore path and credentials, to create a signed app which can be uploaded to the app store.

Contributing

The application mainly communicates with the Firebase database by asynchronously receiving a set of previously saved Wifi networks.

The base URL of the Firebase database is https://wifinder-294dd.firebaseio.com/.

The application is structured internally as in the following diagram:

App architecture diagram

The API to retrieve all data at root-level is as follows:

Request

GET https://wifinder-294dd.firebaseio.com/.json

Response

HTTP 200: OK

{
  "networks": [
    network-name: {
      "ssid": string,
      "password": string,
      "coordinate": {
        "latitude": number,
        "longitude": number
      }
    },
    ...
  ]
}

Releases

No releases published

Packages

No packages published

Languages