Android app for syncing data from phone to Azure SQL

(30 Mar 2018)

SyncAround – Android app for Azure sync

SyncAround is an Android app for syncing phone data to SQL database in Azure cloud. The user can in the configuration settings select the data that will be collected. The user is authenticated via Azure Active Directory or Basic Authentication before any data can be sent. After the authentication the data sync works in the background until the user stops the data collection. There is also an option to save and view the data locally on the phone.

The Android app can be installed from Google Play (https://play.google.com/store/apps/details?id=syncAround.SyncAround).

The current version (1.2) lets the following data to be synced:

Location data
Track the location of one or more users and store it in Azure SQL database for viewing via an Azure web app.

Cellular network data
Track the cellular signal strength and cellular network status (GSM) while being stationary or moving. See the places with potential mobile network issues and learn to avoid them when a stable network connection is required e.g. for large data transfers.

WiFi data
Collect the information of the WiFi networks found in your neighborhood or while moving. See the places with potential connectivity issues where a high number of WiFi networks are concentrated on small areas and interfere with each other. Learn the places where public hotspots are located. Build a Big Data database of WiFi nets by just walking and collecting the data while moving.

SMS data
Sync your SMS text messages to Azure SQL database and keep a backup of the messages in the SQL store. View the messages with a browser via an Azure web app.

Azure Mobile app

In order to sync the data to Azure, a compatible mobile app needs to be installed in Azure. The app will wait for the sync requests from the phone, authenticate the user and store the data in SQL database.

The Azure mobile app needs to match with the following SyncAround client settings in the Android phone:

  1. Azure Sync Service Address in the phone settings must match with the URL address of the Azure mobile app.
  2. Azure Mobile app needs to be configured to support Azure AD authentication. This can be done via the Azure portal. Alternatively you can use Basic Authentication for authenticating the Android users.
  3. Azure Mobile app needs to use the same datatable definitions as the SyncAround client app.

The following SyncAround datatables need to be defined in the Azure Mobile app:

Location Data:

public class LocSyncData
{
public string Id { get; set; }
public DateTime LocTime { get; set; }
public string Location { get; set; }
public string UserName { get; set; }
public DateTime SaveTime { get; set; }
}

Cellular Data:

public class CellData
{
public string Id { get; set; }
public DateTime SaveTime { get; set; }
public string Text { get; set; }
public string Location { get; set; }
public int Strength { get; set; }
public string UserName { get; set; }
public string DataConnState { get; set; }
public string Data_Activity { get; set; }
public string Net_Type { get; set; }
}

WiFi data:

public class WifiScan
{
public string Id { get; set; }
public string Text { get; set; }
public DateTime SaveTime { get; set; }
public Boolean Complete { get; set; }
public string Location { get; set; }
public int WifisFound { get; set; }
public string UserName { get; set; }
}

public class WifiScanDetail
{
public string Id { get; set; }
public DateTime SaveTime { get; set; }
public string WifiItemId { get; set; }
public string SSID { get; set; }
public string BSSID { get; set; }
public string Capabilities { get; set; }
public int Frequency { get; set; }
public int Level { get; set; }
}

SMS data:

public class SMSData
{
public string Id { get; set; }
public string SMSId { get; set; }
public string Address { get; set; }
public DateTime Date { get; set; }
public DateTime DateSent { get; set; }
public string Subject { get; set; }
public string Body { get; set; }
public string UserName { get; set; }
public DateTime SaveTime { get; set; }
}

Sample Azure Mobile and Azure Web app

A sample Azure app scenario is shown below. The app consists of an Azure Mobile App that syncs the data to the SQL database and a Web App for viewing the data.

The SyncAround Android app uses Azure Mobile Client and SQLiteStore for syncing the data to Azure SQL. The data is first stored locally in SQLiteStore from where it is synced to Azure SQL via the Azure Mobile App when the internet connection is available.

SyncAround_Diagram_30Mar2018

For any help in setting up the sync environment or additional sync features you may contact the developer. The contact information can be found here.