Looking for an experienced Android application developer. The application should log to a local file(s) or database, a large selection of WiFi, Telephony, location, BLE beacons, phone state, and hardware values as observed by the mobile device. Logging of the data by the application will be controlled by the user (Run/Stop) and automated to log information based on a periodic time interval (i.e. once every x seconds) and/or a distance based change in location (once every change in x meters). User interface should be basic with the ability to control application operation and logging of data as described above (run/stop, logging interval setting). The logged file(s) with the values will be uploaded to a cloud based server location once the logging process has been stopped by the user and an active network connection is available. Local log file format and server (i.e. cloud database) could be SQLite, NoSQL, or other type but should be compact, efficient, deployable on any Android handset, and uploadable to server database. Application should function on tablets and other mobile devices and should not be limited to a particular manufacturer or OS version where possible. Application should not require rooting or significant setup time by user. Application should also be capable of logging data when not connected to an active wireless network. Log file format does not have to be readable by user but will be readable on server after upload. Log file format should be compact and efficient. Each uploaded file will be identified by a unique file identifier. Application function should strive to be energy efficient and place minimal burden on handset resources.
Application should log (using the Android SDK APIs) wireless network information including but not limited to network type (WiFi,LTE, CDMA, GSM, WCDMA, 1xRTT,...) signal strength, signal to noise ratio, frequency, channel number, cell/basestation ID, BSSID, ESSID, CQI, GCI, TAC, RSRQ, BER, RNC, LAC, BID, BSL, Earfcn, IP address, SID, NID, Tx/Rx speed, neighbors, neighbor detail, roaming indicator, channel width... Application should log all observed network information regardless of type of active connection (i.e. cellular, Wi-Fi, or no connection). Additional data to be logged: handset model, OS version, IMEI, orientation of handset, state of Wifi (on/off), airplane mode (on/off), latitude, longitude, altitude, vertical accuracy, horizontal accuracy, number of GPS satellites, power state (battery/plugged in), battery level, heading, speed, date, time start, time end, proximity sensor state... App should also log BLE location beacons. Other than the logging trigged by time or location, no in-app calculations, external look-ups, or tethering anticipated . User interface should be simple. Most values logged should come directly from the Android SDK APIs. This is the first phase of development and additional development planned pending successful first application deployment and testing.
Please answer the following questions in your response:
[login to view URL] development tool(s) will you use to develop the application?
[login to view URL] you have access to a handsets to test the app? If so, what models and OS?
[login to view URL] do you propose to store the surveyed data on the phone? Flat file, SQLdB, NoSQL?
[login to view URL] do you propose to store the information on the server? Flat file, SQLdB, NoSQL?
[login to view URL] do you propose to transfer the information from the mobile device to the server?