Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The Sensordrone Android/Java Library
Java Groovy
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
src/com/sensorcon/sensordrone
.gitignore
Changelog.txt
README.md
build.gradle

README.md

IMPORTANT

We have changed where we host our code! We love GitHub, but in order to easily conglomerate our various repositories and issue tracking software, we have moved our code hosting to http://bitbucket.sensorcon.com/

Please go there for the latest updates to our code!

Sensordrone Android/Java Library

Pre-compiled versions can be found on our Developer Downloads page.

The current imagining of this library is that we will build/tag a particular revision as a "stable" version and host if on our Developer site, as mentioned above. In-between, this git repository will sort of be a rolling-release, where it is updated as we go.

We tried to Javadoc comment everything to mind numbing detail, but only made it about half-way through. The code is fairly well commented otherwise, but we will Javadoc more stuff as we go.

The Java library uses the BlueCove library, so it is more developer/experimental! It works on Windows/OSX/Linux, but sometimes you need to download BlueCove and build/install a system driver.

Compiling the Library

Currently implemented build systems:

  • Gradle (build.gradle)

Gradle quick start

gradle clean : Cleans a previously compiled build

gradle buildSDAndroidLib : Build the Android Library

gradle buildSDJavaLib : Build the Java Library

For more/other tasks, run 'gradle tasks' or check out the build.gradle file directly.

Dependencies

Currently, dependency management is taken care of via Gradle.

Android

We build the Android library against Android 4.3.3 (Gingerbread).

Java

We build the Java library using the BlueCove library to implement Bluetooth support. BlueCove is an older library, but has worked well for us on Windows/Linux/OSX. Currently, you will likely need to download their code and build a driver to use on your specific platform. The next step for this library would be to build/bundle the drivers.

Source Structure

This project contains both the Java and Android code for working with the Sensordrone. Most of the code is re-usable for either platform, so it would make sense to keep a common implementation-independent package that can be maintained for both packages at once, while having extra packages for Android/Java that are implementation specific.

com.sensorcon.sensordrone

All of the source files in this package can be used by either a Java build or an Android build. This is shared code amongst the two versions to allow quick updates along both builds. Implementation specific methods, such as handling connections, are done in the Android/Java specific packages. Most of the source code here is for 'behind-the-scenes' work, and an app developer using the compiled library would mainly use the classes in the Android/Java package which extend/implement these.

com.sensorcon.sensordrone.android

The main Drone class that app developers will use is here. It implements the connecting/disconnecting of a Sensordrone to Android via Bluetooth.

com.sensorcon.sensordrone.android.tools

This is a package of Android specific tools to help app developers get up and running a little quicker. This is meant to replace the original 'Android Helper Library' in order to keep the number of extra libraries needed to a minimum.

com.sensorcon.sensordrone.java

The main Drone class that app developers will use is here. It implements the connecting/disconnecting of a Sensordrone to Android via Bluetooth.

com.sensorcon.sensordrone.dev

This package is intended for developers. There is a dev.android and a dev.java sub package. It is mainly meant for implementing developer methods methods that you might not to have accessible is a user library. If you are just tweaking the library for yourself, you could just as easily modify the files in the main java/android package instead of extending them here.

Something went wrong with that request. Please try again.