Giter VIP home page Giter VIP logo

gpsrecorder's Introduction

icon GPS recorder for Android

A small android app to record gps data and send them to a database.

Install

It is meant to work with a Firestore Database, considering it is meant primarlily for personal use, in order to build the app and use it on a device it is necessary to set up the database on firebase.google.com, activating writing operations and downloading the google-services.json file from the firebase console and putting it in the "app" folder so that a connection to your own db can be established.

Usage

First open the app:

IconHome

For the app to work it is necessary to have the GPS active on the device and to grant the necessary permissions on start up. It is possible to send data in two ways:

  1. Batch: if multiple locations are being recorded by the service in the main app activity as seen in the image. It is better to send the records in batches so that there are fewer writing operations to perform on the database (google's db is free up to 10.000 operations). In this case the field stored and sent are datetime, device, ip, latitude and longitude. As of now locations are stored every ten seconds (it can be easily changed but it was set up to be fixed to keep the density of trajectories identical). Data is stored locally until it is sent to the db with the upload button, then it will be deleted from the device.

LocationListenerActive

  1. Labeled: It is also possible to send labeled data with a short description of the activity. In addition to the previous fields in this case is also possible to specify manually the usage of a VPN and a description of the activity (it may be necessary if inference of the activity by the location only is not possible), an example can be seen in the image.

SendingLabeledData

Finally the data can be retrieved through either the API or it can be queried through the website, it can be exported to a json and it can be easily made into tabular data. As an example this is one timestamp stored in the db:

dbData

Disclaimer

This app was created as a research tool, the intent was to collect and retrieve easily gps locations from multiple devices in order to build a dataset to work with. I am not responsible for any misuse or violations as the app itself wasn't developed with a general user in mind but it was designed only for my personal use and that of my collaborators.

gpsrecorder's People

Contributors

lwdovico avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.