org.jsense:jsense-core

A Java library to work with sensing. Because sensing is nice. This is the core library.

License

License

GroupId

GroupId

org.jsense
ArtifactId

ArtifactId

jsense-core
Last Version

Last Version

0.2.0
Release Date

Release Date

Type

Type

jar
Description

Description

org.jsense:jsense-core
A Java library to work with sensing. Because sensing is nice. This is the core library.
Source Code Management

Source Code Management

https://github.com/markuswustenberg/jsense

Download jsense-core

How to add to project

<!-- https://jarcasting.com/artifacts/org.jsense/jsense-core/ -->
<dependency>
    <groupId>org.jsense</groupId>
    <artifactId>jsense-core</artifactId>
    <version>0.2.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.jsense/jsense-core/
implementation 'org.jsense:jsense-core:0.2.0'
// https://jarcasting.com/artifacts/org.jsense/jsense-core/
implementation ("org.jsense:jsense-core:0.2.0")
'org.jsense:jsense-core:jar:0.2.0'
<dependency org="org.jsense" name="jsense-core" rev="0.2.0">
  <artifact name="jsense-core" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.jsense', module='jsense-core', version='0.2.0')
)
libraryDependencies += "org.jsense" % "jsense-core" % "0.2.0"
[org.jsense/jsense-core "0.2.0"]

Dependencies

compile (2)

Group / Artifact Type Version
com.google.guava : guava jar 17.0
joda-time : joda-time jar 2.3

test (2)

Group / Artifact Type Version
junit : junit jar 4.+
net.sourceforge.cobertura : cobertura jar 2.0.3

Project Modules

There are no modules declared in this project.

jsense

jsense is a Java library to work with sensing. Because sensing is nice.

Build Status Coverage Status Gitter chat

Project goals

The goal of jsense is to provide libraries that support common uses of sensing data. Sensing data can come from sensors such as accelerometers, gyroscopes, magnetometers (compasses), GPS information, temperature sensors, etc. Common uses are:

  • Basic data handling: Providing a common model for handling sensor data across platforms, saving and loading data in various formats, converting between formats.
  • Data processing: Preparing for activity recognition (with feature selection and computation, machine learning, gesture recognition).
  • Generally, to make common tasks easy to undertake.
  • Provide all of this under a very liberal open source license (the MIT license).

Project values

  • Providing code with a clean and nice API that is easy and intuitive to use makes for better programs with less bugs.
  • Favouring immutable classes (see Effective Java item 15) makes concurrency easier.
  • Tested code is good code, and defensive programming reduces bugs.
  • Minimising loading data into memory, instead working online in a streaming fashion, is good and sometimes necessary for large datasets.

Structure

jsense has several components:

  • jsense-core contains the core classes, such as the model (AccelerometerEvent etc.), the Serializer and Deserializer interfaces and basic implementations of these, as well as classes for basic data processing.
  • jsense-protobuf is for converting the model classes to/from Google Protocol Buffers format.
  • jsense-tools will soon contain convenience tools for handling data.

Dependencies

jsense depends on a few libraries, depending on which components are loaded. These are always used in jsense:

  • Google Guava: A really well-designed library for all kinds of common code, as well as some nice collection classes.
  • Joda-Time: Because working with time is notoriously hard, and this library makes it much easier. Time is inherent in sensing data, so it makes sense to include a library like this.

For jsense-protobuf only:

Versions

Version
0.2.0
0.1.0