Android library

From OpenCellID wiki
Revision as of 21:37, 6 July 2014 by Msemm (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
OpenCellID banner library.png

Android library


The OpenCellID Android library was created for Android software developers to effortlessly support OpenCellID and use the data collected by the OpenCellID community.

The library mainly provides three features:

  1. Read cell ID data from the GSM modem and GPS data from the GPS receiver, and upload the data to the OpenCellID community servers
  2. Download the cell tower database from the community servers to the smartphone for further local use of the data on the smartphone
  3. Sophisticated filtering of the GPS data

Why should my app contribute data to OpenCellID?

The data collected by the OpenCellID community has a multitude of benefits for Android app publishers:

  • Significant improvement of time to first fix (TTFF):
    GPS can take a while for it to deliver its first GPS position after switching it on. Meanwhile, OpenCellID data is available instantly. This is useful when GPS is not available (e.g. loading a map).
  • Dramatic improvement in battery life because of reduced GPS usage:
    The use of GPS can significantly drain the battery, even in the most up-to-date phones. Unlike GPS, the influence of OpenCellID on the power consumption of your app is almost undetectable. For many use cases, the position delivered by OpenCellID is a perfect replacement of the GPS position, only to be refined with GPS data in rare cases. This approach can considerably reduce the power consumption of an app, generating a better user experience.
  • Effective localisation, even inside buildings:
    The current position of the phone can be determined even in areas where GPS is not available (e.g. inside buildings and underground).
  • No need to rely on Google:
    Having a second source for this kind of information is important, not leaving everything to Google, Apple, and other corporations.
  • CC-BY-SA license guarantees free data availability forever:
    The data is collected based on a CC-BY-SA license, making it available for any commercial or non-commercial use at no cost.
  • Rely on the biggest open-source cell ID database and community:
    OpenCellID is by far the biggest open source database for cell ID information.
  • Contributors can use the OpenCellID community servers free of charge:
    The usage of the OpenCellID community servers for queries is restricted. Data consumers must either setup their own servers or pay for using the community servers.
    For data contributors, the usage of the OpenCellID servers is free of charge.

Quality assurance

Before publishing version 1.0 of the OpenCellID library, ENAiKOON has integrated it into several of its Android apps with more than 50.000 users, allowing the OpenCellID team to ensure that the library is stable and does not interfere with the host application. The OpenCellID Android library is provided as an Android library project for easy integration.

Source code and documentation

The complete source code of the library including documentation is available here: on github.

OpenCellID API

It is not required to understand the OpenCellID API details for integrating the OpenCellID library into your Android application because all this is handled by the OpenCellID library.

For those that are curious, all details regarding the OpenCellID API can be found here.

Mobile devices

The cellid implementation varies from mobile device to mobile device since these featues are considered to be optional.

Here is some information regarding the status of implementation

  • Samsung (all devices): getNeigbouringCells () is not supported at all and always returns an empty list.