Giter VIP home page Giter VIP logo

aware-client's Introduction

AWARE Framework Android Client

Release

AWARE is an Android framework dedicated to instrument, infer, log and share mobile context information, for application developers, researchers and smartphone users. AWARE captures hardware-, software-, and human-based data. It encapsulates analysis, machine learning and simplifies conducting user studies in naturalistic and laboratory settings.

User Studies

The platform is scalable with plugins and can be integrated with other platforms using JSON, MQTT or MySQL.

Arquitecture

Getting started

1 - Contributing to AWARE, building from source

You can get the source code of all the components that make the AWARE client from GitHub.

$ git clone --recursive https://github.com/denzilferreira/aware-client.git
$ cd aware-client
$ git submodule foreach --recursive git checkout master

You can now import this project to Android Studio and hack away :)

2 - Using AWARE as a library in your own app

Add to the build.gradle inside your module to include AWARE's libraries

repositories {
    maven { url "https://jitpack.io" }
}

dependencies {
    api "com.github.denzilferreira:aware-client:master-SNAPSHOT"
}

You can now refer to AWARE's functions inside your app. For example, if you want to use the accelerometer sensor:

    Aware.startAWARE(applicationContext) //initialise core AWARE service

    Aware.setSetting(applicationContext, Aware_Preferences.FREQUENCY_ACCELEROMETER, 200000) //20Hz
    Aware.setSetting(applicationContext, Aware_Preferences.THRESHOLD_ACCELEROMETER, 0.02f) // [x,y,z] > 0.02 to log
    
    Aware.startAccelerometer(this)
    
    Accelerometer.setSensorObserver {
        val x = it.getAsDouble(Accelerometer_Provider.Accelerometer_Data.VALUES_0)
        val y = it.getAsDouble(Accelerometer_Provider.Accelerometer_Data.VALUES_1)
        val z = it.getAsDouble(Accelerometer_Provider.Accelerometer_Data.VALUES_2)
        
        println("x = $x y = $y, z = $z")
    }

Special sensors: Applications, Touch, Notifications, Keyboard, Crash logs

If you plan to leverage the Applications, Touch, Notifications, Keyboard or Crash sensors, you will need to obtain access to the Accessibility Services on Android OS. Create a file called "bools.xml" inside /res/values/ inside your app: bools.xml

Open-source (Apache 2.0)

Copyright (c) 2011 AWARE Mobile Context Instrumentation Middleware/Framework https://www.awareframework.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

aware-client's People

Contributors

denzilferreira avatar rkdarst avatar juliov avatar nielsvanberkel avatar juancamilo87 avatar raghumulukutla avatar lagerspetz avatar xubowenhaoren avatar akuvisur 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.