BITalino Java Application Programming Interface. Documentation Android API

Size: px
Start display at page:

Download "BITalino Java Application Programming Interface. Documentation Android API"

Transcription

1 BITalino Java Application Programming Interface Documentation Android API

2 Contents Contents General Information Introduction Main Objects Class BITalinoDescription Class BITalinoFrame Class BITalinoState Main Classes Class BITalinoCommunicationFactory Class BITalinoCommunication Data Asynchronous Communication Implementation Example [BLE] Implementation Example [BTH] Contents PLUX java API for Android

3 1. General Information Interface Specification Document BITalino Java Application Programming Interface Date Current Revision 1 Author Gonçalo Telo Revision Number Change History Author Date Change 1 Gonçalo Telo Initial Document for API BLE BTH Glossary Bluetooth Low Energy Bluetooth BITalino Java API for Android General Information 3

4 2. Introduction The BITalino Java Application Programming Interface (API) brings to java android applications all the functionalities of BITalino devices. The API is implemented based on the utilization of the factory design pattern which provides the developer with a simple way to choose between the different types of communication available. The class BITalinoCommunication contains the methods required to communicate with a BITalino device, as well as receiving information on their state. This device can be accessed through a classic Bluetooth connection or using Bluetooth Low Energy. The class BITalinoException implements the exception which is thrown by the API when an error condition is met while calling any of the API functions or class methods. The API consists of a jar file (pluxapi jar, where is the code version name) containing the API object code. 4 Introduction BITalino Java API for Android

5 3. Main Objects There are four types of objects that are important to make a proper use of the PLUX s API: 3.1. Class BITalinoDescription Object that has the event data received from the bluetooth device. There are two types of events: the battery event and the onbody event Methods: isbitalino2() [boolean] isbitalino2 - returns true if the device is a BITalino 2, otherwise returns false getfwversion() [float] fwversion - returns the device's firmware version 3.2. Class BITalinoFrame Object that has the data received from the bluetooth device Methods: getidentifier() [String] identifier returns the MAC address of the device that sent the frame getsequence() [int] sequence returns the sequence number of the frame BITalino Java API for Android Main Objects 5

6 getanalog() [int[]] analogdata returns an array with all the channel values of the frame getdigital() [int[]] digitalinput returns an array with all the digital channel value 3.3. Class BITalinoState Object that has the current state returned by the bluetooth device Methods: getidentifier() [String] identifier returns the MAC address of the device that sent the frame getanalog() [int[]] analogdata returns an array with all the channel values of the frame getbattery() [int] battery returns current battery value getbatthreshold() 6 Main Objects BITalino Java API for Android

7 [int] batthreshold returns current battery threhold getdigital() [int[]] digitalinput returns an array with all the digital channel value BITalino Java API for Android Main Objects 7

8 4. Main Classes 4.1. Class BITalinoCommunicationFactory Overview This class allows the user to select from the possible types of communication Methods getcommunication ( Communication type, Context context) [in] type type of communication selected (BTH or BLE) context application s activity bitalinocommunication BITalinoCommunication object, with the selected type of communication associated to it. Returns the object with the chosen type of communication. getcommunication ( Communication type, Context context, OnBITalinoDataAvailable callback) [in] type type of communication selected (BTH or BLE) context application s activity callback callback that receives the BITalino frames (BTH only) bitalinocommunication BITalinoCommunication object, with the selected type of communication associated to it. Returns the object with the chosen type of communication. 8 Main Classes BITalino Java API for Android

9 4.2. Class BITalinoCommunication Overview This class includes all the methods that compose the communication channel with the BITalino device. It is through this object that the developer can call the methods to set the acquisition parameters or start and stop an acquisition using a BITalino device. The communication between the android device and the bitalino device is asynchronous, using a local broadcast or a callback to send the received data from a lower level to the higher level (like an activity of the app) Methods void scan() Scans for PLUX s devices in the near area. This method has an asynchronous response that returns an object (BluetoothDevice) with the device s name and MAC address. boolean connect(string address) [in] address Media Access Control (MAC) address, the unique identifier of the device. [boolean] true if the connection to the device is successful, false otherwise Tries to connect to the device with the given MAC address. void disconnect() [boolean] true if the device is disconnected successfully, false otherwise BITalino Java API for Android Main Classes 9

10 Disconnects the device and closes the connection channel created. boolean start(int[] analogchannels, int samplerate) [in] analogchannels an array with the active analog channels samplerate the sampling frequency value [boolean] true if the command is sent successfully to the bluetooth device, false otherwise Starts the acquisition mode of the device. An exception is thrown if the device is already acquiring. The samplerate parameter must be 1 Hz, 10 Hz, 100 Hz or 1000 Hz. On acquisition mode, the frames sent by the bluetooth device are received by the phone and then sent to the local broadcast receiver in the BLE case, or to the OnBITalinoDataAvailable callback in the BTH case, using the BiopluxFrame object. boolean stop() [boolean] true if the command is sent successfully, false otherwise Stops the acquisition mode in the device. An exception is throw if the acquisition mode is not active. boolean getversion() [boolean] true if the command is sent successfully, false otherwise 10 Main Classes BITalino Java API for Android

11 Get the connected device s firmware version. boolean battery(int value) [in] value the new battery threshold value [boolean] true if the command is sent successfully, false otherwise Sets a new battery threshols for the low-battery LED. boolean trigger(int[] digitalchannels) [in] digitalchannels an array with the digital channels to enable set as 1, and the digital channels to disable set as 0. [boolean] true if the command is sent successfully, false otherwise Assigns the digital output states. boolean state() [boolean] true if the command is sent successfully, false otherwise BITalino Java API for Android Main Classes 11

12 Asks for the device's current state. (BITalino 2 only) boolean pwm(int pwmoutput) [in] digitalchannels an array with the digital channels to enable set as 1, and the digital channels to disable set as 0. [boolean] true if the command is sent successfully, false otherwise Assigns the analog (PWM) output value. (BITalino 2 only) 12 Main Classes BITalino Java API for Android

13 5. Data Asynchronous Communication All the information needed on the client side can be received by the user with a Broadcast Receiver as follows: private final BroadcastReceiver updatereceiver = new BroadcastReceiver() public void onreceive(context context, Intent intent) { final String action = intent.getaction(); if (Constants.ACTION_STATE_CHANGED.equals(action)) { String identifier = intent.getstringextra(constants.identifier); Constants.States state = Constants.States.getStates(intent.getIntExtra(Constants.EXTRA_STATE_CHANGED,0); Log.i(TAG, "Device " + identifier + ": " + state.name()); } else if (Constants.ACTION_DATA_AVAILABLE.equals(action)) { BITalinoFrame frame = intent.getparcelableextra(constants.extra_data); Log.d(TAG, "BITalinoFrame: " + frame.tostring()); } else if (Constants.ACTION_COMMAND_REPLY.equals(action)) { String identifier = intent.getstringextra(constants.identifier); Parcelable parcelable = intent.getparcelableextra(constants.extra_command_reply); if(parcelable.getclass().equals(bitalinostate.class)){ Log.d(TAG, "BITalinoState: " + parcelable.tostring()); } else if(parcelable.getclass().equals(bitalinodescription.class)){ Log.d(TAG, "BITalinoDescription: isbitalino2: " + ((BITalinoDescription)parcelable).isBITalino2() + ; FwVersion: String.valueOf(((BITalinoDescription)parcelable).getFwVersion()) ); } } else if (Constants.ACTION_MESSAGE_SCAN.equals(action)){ BluetoothDevice device = intent.getparcelableextra(constants.extra_device_scan); } } }; protected static IntentFilter updateintentfilter() { final IntentFilter intentfilter = new IntentFilter(); intentfilter.addaction(constants.action_state_changed); intentfilter.addaction(constants.action_data_available); intentfilter.addaction(constants.action_command_reply); intentfilter.addaction(constants.action_message_scan); return intentfilter; } The following table contains the descriptions of all the intents regarding the data and event BITalino Java API for Android Data Asynchronous Communication 13

14 communication, as well as their occurring scenarios. Intent Action Constants.ACTION_STATE_CHANGED Constants.ACTION_DATA_AVAILABLE Constants.ACTION_COMMAND_REPLY Constants.ACTION_MESSAGE_SCAN Scenario Bluetooth connection state changed, this intent has the MAC Address of the device as an extra. EXTRAS: [String] Constants.IDENTIFIER [Constants.States] Constants.EXTRA_STATE_CHANGED This intent is sent when the android device receives the acquired data from the bluetooth device and then the API decodes it and sends an object (BITalinoFrame) as an extra. This object has also the device's MAC Address. (BLE only) EXTRAS: [Parcelable] Constants.EXTRA_DATA This intent is sent when the android device receives a reply from the BITalino device commands through the API. This intent has two extras, the device's MAC Address and an object (Parcelable) that can be a BITalinoState object or a BITalinoDescription object. EXTRAS: [String] Constants.IDENTIFIER [Parcelable] Constants.EXTRA_COMMAND_REPLY After the call of the API method scan, the available PLUX's devices will be sent with this intent. This intent has an object as an extra (BluetoothDevice). EXTRAS: [BluetoothDevice] Constants.EXTRA_DEVICE_SCAN 14 Data Asynchronous Communication BITalino Java API for Android

15 6. Implementation Example [BLE] 1. Initialize the bitalino API: BITalinoCommunication bitalino = new BITalinoCommunicationFactory ().getcommunication(communication.ble, getbasecontext()); 2. Register your broadcast receiver: registerreceiver(updatereceiver, updateintentfilter()); 3. Connect to the selected device: bitalino.connect(aa:bb:cc:dd:ee:ff); 4. After the device version is received on the broadcast receiver, you can call the other API methods. There is an example below: //Begin acquisition with a base frequency of 100 Hz for one channel due the BLE communication limitations int[] analogchannels = new int[]{0}; int samplerate = 100; bitalino.start(analogchannels, samplerate); try { Thread.sleep(10000); } catch (Exception e){ e.printstacktrace(); } bitalino.stop(); bitalino.disconnect(); BITalino Java API for Android Implementation Example [BLE] 15

16 7. Implementation Example [BTH] 1. Initialize the bitalino API: BITalinoCommunication bitalino = new BITalinoCommunicationFactory ().getcommunication(communication.bth, getbasecontext(), new public void onbitalinodataavailable(bitalinoframe bitalinoframe) { Log.d(TAG, "BITalinoFrame: " + bitalinoframe.tostring()); } }); 2. Register your broadcast receiver: registerreceiver(updatereceiver, updateintentfilter()); 3. Connect to the selected device: bitalino.connect(aa:bb:cc:dd:ee:ff); 4. After the ready event is received on the broadcast receiver, you can call the other API methods. There is an example below: //Begin acquisition with a base frequency of 1000 Hz for all analog channels int[] analogchannels = new int[]{0,1,2,3,4,5}; int samplerate = 1000; bitalino.start(analogchannels, samplerate); try { Thread.sleep(10000); } catch (Exception e){ e.printstacktrace(); } bitalino.stop(); bitalino.disconnect(); 16 Implementation Example [BTH] BITalino Java API for Android

Barcode Controller Scenario & Manual. Bluebird, inc. ver : 1.2

Barcode Controller Scenario & Manual. Bluebird, inc. ver : 1.2 Barcode Controller Scenario & Manual Bluebird, inc. ver : 1.2 Contents 1. Introduction 2. BarcodeController working scenario(chart) 3. BarcodeController working scenario(details) 4. Exception 5. Information

More information

bioplux C++ API v. 2

bioplux C++ API v. 2 bioplux C++ API v. 2 Programming Interface Reference Document Version 1d 1/12 Change Log Version Date Changes 1d 17 Mar 2015 Include VS2013 in Introduction. 1c 23 Nov 2012 Removed the GetFrames (no arguments)

More information

Services. service: A background task used by an app.

Services. service: A background task used by an app. CS 193A Services This document is copyright (C) Marty Stepp and Stanford Computer Science. Licensed under Creative Commons Attribution 2.5 License. All rights reserved. Services service: A background task

More information

Cisco StadiumVision Mobile API for Google Android

Cisco StadiumVision Mobile API for Google Android CHAPTER 2 Cisco StadiumVision Mobile API for Google Android Revised: October 31, 2013 This chapter describes the Cisco StadiumVision Mobile SDK Release 1.3 for Google Android, and contains the following

More information

PLUX ios Application Programming Interface. Documentation - ios API

PLUX ios Application Programming Interface. Documentation - ios API PLUX ios Application Programming Interface Documentation - ios API 1. Introduction The PLUX ios Application Programming Interface brings to ios applications all the functionalities of PLUX devices. The

More information

OFFLINE MODE OF ANDROID

OFFLINE MODE OF ANDROID OFFLINE MODE OF ANDROID APPS @Ajit5ingh ABOUT ME new Presenter( Ajit Singh, github.com/ajitsing, www.singhajit.com, @Ajit5ingh ) AGENDA Why offline mode? What it takes to build an offline mode Architecture

More information

Microcontroller Unit (MCU) Block Data Sheet

Microcontroller Unit (MCU) Block Data Sheet Microcontroller Unit (MCU) MCU 140616 SPECIFICATIONS > Sampling Rate: 1, 10, 100 or 1000Hz > Analog Ports: 6 in (A1-A6) + 1 out (PWM) > Digital Ports: 2 in (I1&I2) + 2 out (O1&O2) > Auxiliary Ports: 1

More information

Termite WiFi Direct API

Termite WiFi Direct API Termite WiFi Direct API Developers Guide 2014/15 Nuno Santos 1. Objectives This document provides a brief description of the Termite WiFi Direct API. 2. Termite API Guide In order for an application to

More information

Barcode Scanner SDK Handbook. MT65 Platform

Barcode Scanner SDK Handbook. MT65 Platform Barcode Scanner SDK Handbook MT65 Platform Revision History Version Description Date V1.0 Initial release. August 13, 2015 V1.1 Modified Chapter 3 and Chapter 4. June 12, 2017 Table of Contents Chapter

More information

Android permissions Defining and using permissions Component permissions and related APIs

Android permissions Defining and using permissions Component permissions and related APIs Android permissions Defining and using permissions Component permissions and related APIs Permissions protects resources and data For instance, they limit access to: User information e.g, Contacts Cost-sensitive

More information

CSC Java Programming, Fall Java Data Types and Control Constructs

CSC Java Programming, Fall Java Data Types and Control Constructs CSC 243 - Java Programming, Fall 2016 Java Data Types and Control Constructs Java Types In general, a type is collection of possible values Main categories of Java types: Primitive/built-in Object/Reference

More information

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS

AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS AP COMPUTER SCIENCE JAVA CONCEPTS IV: RESERVED WORDS PAUL L. BAILEY Abstract. This documents amalgamates various descriptions found on the internet, mostly from Oracle or Wikipedia. Very little of this

More information

CQ Beacon Android SDK V2.0.1

CQ Beacon Android SDK V2.0.1 Copyright 2014 ConnectQuest, LLC 1 CQ Beacon Android SDK V2.0.1 Software Requirements: Android 4.3 or greater SDK Support Page: http://www.connectquest.com/app- developers/android- api/ The CQ SDK package

More information

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie)! Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

PNF-101 NFC Reader Android Integration Guide Version 1.0

PNF-101 NFC Reader Android Integration Guide Version 1.0 PNF-101 NFC Reader Android Integration Guide Version 1.0 10/19/2017 Revision History Revision Date Description By 1.0 2017/10/19 First version Clyde Wang i Table of Contents Revision History... i 1 Overview...

More information

Instructions on Yealink s SDK for Yealink T5 Smart Media Phone Series. Instructions on Yealink s SDK for Yealink T5 Smart Media Phone Series

Instructions on Yealink s SDK for Yealink T5 Smart Media Phone Series. Instructions on Yealink s SDK for Yealink T5 Smart Media Phone Series Instructions on Yealink s SDK for Yealink T5 Smart Media Phone Series Table of Contents 1 SDK Introduction... 4 2 Yealink Android Phone Debugging Preparation... 4 2.1 Enabling the ADB Feature... 4 2.2

More information

Android Services & Local IPC: The Command Processor Pattern (Part 1)

Android Services & Local IPC: The Command Processor Pattern (Part 1) : The Command Processor Pattern (Part 1) d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Professor of Computer Science Institute for Software Integrated Systems Vanderbilt University Nashville,

More information

Services Broadcast Receivers Permissions

Services Broadcast Receivers Permissions Services Broadcast Receivers Permissions Runs in the background Extends Service Java class Not necessarily connected to the user s visual interface Music player working in foreground User wants read email

More information

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015 Android System Architecture Android Application Fundamentals Applications in Android All source code, resources, and data are compiled into a single archive file. The file uses the.apk suffix and is used

More information

Overview. Android Apps (Partner s App) Other Partner s App Platform. Samsung Health. Server SDK. Samsung Health. Samsung Health Server

Overview. Android Apps (Partner s App) Other Partner s App Platform. Samsung Health. Server SDK. Samsung Health. Samsung Health Server W E L C O M E T O Overview Android Apps (Partner s App) Data Service Health Android SDK Android API Samsung Health Samsung Health Server SDK Data REST API Oauth2 Other Partner s App Platform REST API

More information

Bluetooth. Mobila applikationer och trådlösa nät HI /3/2013. Lecturer: Anders Lindström,

Bluetooth. Mobila applikationer och trådlösa nät HI /3/2013. Lecturer: Anders Lindström, Mobila applikationer och trådlösa nät HI1033 Lecturer: Anders Lindström, anders.lindstrom@sth.kth.se Lecture 7 Today s topics Bluetooth NFC Bluetooth 1 Bluetooth Wireless technology standard for exchanging

More information

The Broadcast Class Registration Broadcast Processing

The Broadcast Class Registration Broadcast Processing The Broadcast Class Registration Broadcast Processing Base class for components that receive and react to events BroadcastReceivers register to receive events in which they are interested When Events occur

More information

Information-Flow Analysis of Android Applications in DroidSafe

Information-Flow Analysis of Android Applications in DroidSafe Information-Flow Analysis of Android Applications in DroidSafe Michael I. Gordon, Deokhwan Kim, Jeff Perkins, and Martin Rinard MIT CSAIL Limei Gilham Kestrel Institute Nguyen Nguyen Global InfoTek, Inc.

More information

LECTURE 12 BROADCAST RECEIVERS

LECTURE 12 BROADCAST RECEIVERS MOBILE APPLICATION DEVELOPMENT LECTURE 12 BROADCAST RECEIVERS IMRAN IHSAN ASSISTANT PROFESSOR WWW.IMRANIHSAN.COM Application Building Blocks Android Component Activity UI Component Typically Corresponding

More information

Intents & Intent Filters. codeandroid.org

Intents & Intent Filters. codeandroid.org Intents & Intent Filters codeandroid.org Intents & Intents Filter Intents : request for an action to be performed (usually on a set of data) Intent Filters : register Activities, Services, and Broadcast

More information

Ultigesture UG Wristband User Manual

Ultigesture UG Wristband User Manual Ultigesture UG Wristband User Manual Version 1.1 Table of Contents 1 Introduction... 2 2 UG Wristband Hardware Components... 2 3 Android Software... 3 3.1 3.2 3.3 4 Pre-Requisites...3 Steps to Develop

More information

Software Engineering Large Practical: Accessing remote data and XML parsing. Stephen Gilmore School of Informatics October 8, 2017

Software Engineering Large Practical: Accessing remote data and XML parsing. Stephen Gilmore School of Informatics October 8, 2017 Software Engineering Large Practical: Accessing remote data and XML parsing Stephen Gilmore School of Informatics October 8, 2017 Contents 1. Android system permissions 2. Getting a network connection

More information

INTRODUCTION COS MOBILE DEVELOPMENT WHAT IS ANDROID CORE OS. 6-Android Basics.key - February 21, Linux-based.

INTRODUCTION COS MOBILE DEVELOPMENT WHAT IS ANDROID CORE OS. 6-Android Basics.key - February 21, Linux-based. 1 COS 470 - MOBILE DEVELOPMENT INTRODUCTION 2 WHAT IS ANDROID Linux-based Java/Kotlin Android Runtime (ART) System Apps SMS, Calendar, etc. Platform Architecture 3 CORE OS Linux (64 bit) Each app is a

More information

Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series. Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series

Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series. Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series Instructions on Yealink s SDK for Yealink T5 Smart Business Phone Series Table of Contents 1 SDK Introduction... 5 2 Yealink Android Phone Debugging Preparation... 5 2.1 Enabling the ADB Feature... 5 2.2

More information

Mobile Programming Practice Background processing AsynTask Service Broadcast receiver Lab #5

Mobile Programming Practice Background processing AsynTask Service Broadcast receiver Lab #5 1 Mobile Programming Practice Background processing AsynTask Service Broadcast receiver Lab #5 Prof. Hwansoo Han T.A. Sung-in Hong T.A. Minseop Jeong 2 Background processing Every Android app has a main

More information

Object-Oriented Databases Object-Relational Mappings and Frameworks. Alexandre de Spindler Department of Computer Science

Object-Oriented Databases Object-Relational Mappings and Frameworks. Alexandre de Spindler Department of Computer Science Object-Oriented Databases Object-Relational Mappings and Frameworks Challenges Development of software that runs on smart phones. Data needs to outlive program execution Use of sensors Integration with

More information

Getting Started With Feature Toggle in Java

Getting Started With Feature Toggle in Java Guide Getting Started With Feature Toggle in Java INTRO Feature toggles (also known as feature flags) are simple. You want to introduce new behavior in a Java application, but you re not ready to turn

More information

Basics of Java: Expressions & Statements. Nathaniel Osgood CMPT 858 February 15, 2011

Basics of Java: Expressions & Statements. Nathaniel Osgood CMPT 858 February 15, 2011 Basics of Java: Expressions & Statements Nathaniel Osgood CMPT 858 February 15, 2011 Java as a Formal Language Java supports many constructs that serve different functions Class & Interface declarations

More information

App Development for Smart Devices. Lec #16: Networking

App Development for Smart Devices. Lec #16: Networking App Development for Smart Devices CS 495/595 - Fall 2011 Lec #16: Networking Tamer Nadeem Dept. of Computer Science Objective Bluetooth Managing Bluetooth Properties Device Discovery Bluetooth Communication

More information

TH100A User Manual 1 Updated April 30, 2018

TH100A User Manual 1 Updated April 30, 2018 TH100A User Manual 1 Contents Turning on the Device... 3 TH100A Android app... 4 Setting TH100A Parameters... 6 Night Latch Mode... 7 Switching Between Multiple Interrupter Units... 8 Synchronizing Multiple

More information

Android SDK. Specification Version NeoLAB Convergence Inc.

Android SDK. Specification Version NeoLAB Convergence Inc. Android SDK Specification Version 2.1.4 NeoLAB Convergence Inc. Revision History Ver Date Contents 1.40 04-May, 15 Added Offline data ARM 1.50 30-Nov, 15 Connection procedure for Multi app LMS 2.00 13-Jun,

More information

Basic UI elements: Defining Activity UI in the code. Marco Ronchetti Università degli Studi di Trento

Basic UI elements: Defining Activity UI in the code. Marco Ronchetti Università degli Studi di Trento 1 Basic UI elements: Defining Activity UI in the code Marco Ronchetti Università degli Studi di Trento UI Programmatically public class UIThroughCode extends Activity { LinearLayout llayout; TextView tview;

More information

2018/2/5 话费券企业客户接入文档 语雀

2018/2/5 话费券企业客户接入文档 语雀 1 2 2 1 2 1 1 138999999999 2 1 2 https:lark.alipay.com/kaidi.hwf/hsz6gg/ppesyh#2.4-%e4%bc%81%e4%b8%9a%e5%ae%a2%e6%88%b7%e6%8e%a5%e6%94%b6%e5%85%85%e5 1/8 2 1 3 static IAcsClient client = null; public static

More information

The Basis of Data. Steven R. Bagley

The Basis of Data. Steven R. Bagley The Basis of Data Steven R. Bagley So far How to create a UI View defined in XML Java-based Activity as the Controller Services Long running processes Intents used to send messages between things asynchronously

More information

Wireless Vehicle Bus Adapter (WVA) Android Library Tutorial

Wireless Vehicle Bus Adapter (WVA) Android Library Tutorial Wireless Vehicle Bus Adapter (WVA) Android Library Tutorial Revision history 90001431-13 Revision Date Description A October 2014 Original release. B October 2017 Rebranded the document. Edited the document.

More information

32. And this is an example on how to retrieve the messages received through NFC.

32. And this is an example on how to retrieve the messages received through NFC. 4. In Android applications the User Interface (UI) thread is the main thread. This thread is very important because it is responsible with displaying/drawing and updating UI elements and handling/dispatching

More information

ESP32 BT&BLE Dual-mode Bluetooth. Version 1.0 Copyright 2018

ESP32 BT&BLE Dual-mode Bluetooth. Version 1.0 Copyright 2018 ESP32 BT&BLE Dual-mode Bluetooth Version 1.0 Copyright 2018 About This Guide This document introduces the ESP32 BT&BLE dual-mode bluetooth. Release Notes Date Version Release notes V1.0 Initial release.

More information

SunmiPrinter Developer documentation

SunmiPrinter Developer documentation SunmiPrinter Developer documentation 目录 Introduction... - 2-1 Connect to PrinterService... - 3-1.1 AIDL... - 3-1.2 Virtual Bluetooth... - 12-1.3 JS in HTML... - 15-2 State feedback... - 17-2.1 Print status

More information

Vendor: Oracle. Exam Code: 1Z Exam Name: Java SE 8 Programmer. Version: Demo

Vendor: Oracle. Exam Code: 1Z Exam Name: Java SE 8 Programmer. Version: Demo Vendor: Oracle Exam Code: 1Z0-808 Exam Name: Java SE 8 Programmer Version: Demo DEMO QUESTION 1 Which of the following data types will allow the following code snippet to compile? A. long B. double C.

More information

CS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question)

CS/B.TECH/CSE(New)/SEM-5/CS-504D/ OBJECT ORIENTED PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 GROUP A. (Multiple Choice Type Question) CS/B.TECH/CSE(New)/SEM-5/CS-504D/2013-14 2013 OBJECT ORIENTED PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give their answers

More information

MT6550-XW SDK Handbook

MT6550-XW SDK Handbook MT6550-XW SDK Handbook Revision History Version Description Date V1.0.0 Initial release. November 3, 2016 Table of Contents About This Manual... 1 Development Environment... 1 Obtain Product Model Number...

More information

biosignal acquisition tool-kit for advanced research applications MATLAB compatibility with biosignalsplux Python TM API

biosignal acquisition tool-kit for advanced research applications MATLAB compatibility with biosignalsplux Python TM API biosignal acquisition tool-kit for advanced research applications MATLAB compatibility with biosignalsplux Python TM API This document serves to provide guidance on using biosignalsplux with MATLAB using

More information

private static String TAG = BluetoothUtils.class.getSimpleName();

private static String TAG = BluetoothUtils.class.getSimpleName(); import android.bluetooth.bluetoothadapter; import android.bluetooth.bluetoothdevice; import android.bluetooth.bluetoothsocket; import android.content.context; import android.content.intent; import android.util.log;

More information

Podstawowe komponenty aplikacji, wymiana międzyprocesowa

Podstawowe komponenty aplikacji, wymiana międzyprocesowa Podstawowe komponenty aplikacji, wymiana międzyprocesowa Intencje. Budowanie intencji, komunikacja z wykorzystaniem intencji pomiędzy aktywnościami i aplikacjami. Obsługa powiadomień za pomocą klasy BroadcastReceiver.

More information

Droide Multi Language Platform. NXT S.D.K. - Java Documentation 2.1.8

Droide Multi Language Platform. NXT S.D.K. - Java Documentation 2.1.8 Droide Multi Language Platform NXT S.D.K. - Java Documentation 2.1.8 May 31, 2008 1 Introduction This document is intended to be used as the Java API documentation. Here you can nd a small technical description

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Mobile App User Guide

Mobile App User Guide KMC Connect Lite Mobile App User Guide KMC Controls, 19476 Industrial Drive, New Paris, IN 46553 / 877-444-5622 / Fax: 574-831-5252 / www.kmccontrols.com CONTENTS Important Notices...4 Support...4 About

More information

i219 Software Design Methodology 12. Case study 1 Dining philosopher problem Kazuhiro Ogata (JAIST) Outline of lecture

i219 Software Design Methodology 12. Case study 1 Dining philosopher problem Kazuhiro Ogata (JAIST) Outline of lecture i219 Software Design Methodology 12. Case study 1 Dining philosopher problem Kazuhiro Ogata (JIST) Outline of lecture 2 Dining philosopher problem (DPP) Dining Room in UML & Java Chopstick in UML & Java

More information

CS 351 Design of Large Programs Threads and Concurrency

CS 351 Design of Large Programs Threads and Concurrency CS 351 Design of Large Programs Threads and Concurrency Brooke Chenoweth University of New Mexico Spring 2018 Concurrency in Java Java has basic concurrency support built into the language. Also has high-level

More information

AN1200: Bluetooth Mesh for ios and Android ADK

AN1200: Bluetooth Mesh for ios and Android ADK AN1200: Bluetooth Mesh for ios and Android ADK This document describes how to get started with Bluetooth mesh application development for ios and Android smart phones and tablets using the Silicon Labs

More information

User Interface Design & Development

User Interface Design & Development User Interface Design & Development Lecture Intro to Android João Pedro Sousa SWE 632, Fall 2011 George Mason University features multitasking w/ just-in-time compiler for Dalvik-VM bytecode storage on

More information

UM2290. BlueNRG Mesh Android API guide for Mesh over Bluetooth low energy. User manual. Introduction

UM2290. BlueNRG Mesh Android API guide for Mesh over Bluetooth low energy. User manual. Introduction User manual BlueNRG Mesh Android API guide for Mesh over Bluetooth low energy Introduction The Mesh over Bluetooth low energy (MoBLE) software is a stack of network protocols for Android -based handheld

More information

COE318 Lecture Notes Week 10 (Nov 7, 2011)

COE318 Lecture Notes Week 10 (Nov 7, 2011) COE318 Software Systems Lecture Notes: Week 10 1 of 5 COE318 Lecture Notes Week 10 (Nov 7, 2011) Topics More about exceptions References Head First Java: Chapter 11 (Risky Behavior) The Java Tutorial:

More information

Permissions. Lecture 18

Permissions. Lecture 18 Permissions Lecture 18 Topics related Android permissions Defining & using applica:on permissions Component permissions Permissions Android protects resources & data with permissions Example: who has the

More information

Introduction to Android

Introduction to Android Introduction to Android Ambient intelligence Alberto Monge Roffarello Politecnico di Torino, 2017/2018 Some slides and figures are taken from the Mobile Application Development (MAD) course Disclaimer

More information

Threads Chate Patanothai

Threads Chate Patanothai Threads Chate Patanothai Objectives Knowing thread: 3W1H Create separate threads Control the execution of a thread Communicate between threads Protect shared data C. Patanothai Threads 2 What are threads?

More information

Android Security Lab WS 2013/14 Lab 2: Android Permission System

Android Security Lab WS 2013/14 Lab 2: Android Permission System Saarland University Information Security & Cryptography Group Prof. Dr. Michael Backes saarland university computer science Android Security Lab WS 2013/14 M.Sc. Sven Bugiel Version 1.2 (November 12, 2013)

More information

COMPSCI 230 Threading Week8. Figure 1 Thread status diagram [http://www.programcreek.com/2009/03/thread-status/]

COMPSCI 230 Threading Week8. Figure 1 Thread status diagram [http://www.programcreek.com/2009/03/thread-status/] COMPSCI 230 Threading Week8 Figure 1 Thread status diagram [http://www.programcreek.com/2009/03/thread-status/] Synchronization Lock DeadLock Why do we need Synchronization in Java? If your code is executing

More information

CMSC 330: Organization of Programming Languages. Threads Classic Concurrency Problems

CMSC 330: Organization of Programming Languages. Threads Classic Concurrency Problems : Organization of Programming Languages Threads Classic Concurrency Problems The Dining Philosophers Problem Philosophers either eat or think They must have two forks to eat Can only use forks on either

More information

In this lab we will practice creating, throwing and handling exceptions.

In this lab we will practice creating, throwing and handling exceptions. Lab 5 Exceptions Exceptions indicate that a program has encountered an unforeseen problem. While some problems place programmers at fault (for example, using an index that is outside the boundaries of

More information

SCANNING MADE SIMPLE. MT90 Orca mobile computer. SDK Handbook

SCANNING MADE SIMPLE. MT90 Orca mobile computer. SDK Handbook SCANNING MADE SIMPLE MT90 Orca mobile computer SDK Handbook Revision History Version Description Date V1.0.0 Initial release. January 16, 2018 Table of Contents About This Manual... 1 Development Environment...

More information

About this exam review

About this exam review Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review

More information

Mobile and Ubiquitous Computing: Android Programming (part 4)

Mobile and Ubiquitous Computing: Android Programming (part 4) Mobile and Ubiquitous Computing: Android Programming (part 4) Master studies, Winter 2015/2016 Dr Veljko Pejović Veljko.Pejovic@fri.uni-lj.si Examples from: Mobile and Ubiquitous Computing Jo Vermeulen,

More information

JAX-RS 2.1 Reloaded. Santiago Pericas-Geertsen JAX-RS Co-Spec Lead. #jax-rs

JAX-RS 2.1 Reloaded. Santiago Pericas-Geertsen JAX-RS Co-Spec Lead. #jax-rs JAX-RS 2.1 Reloaded Santiago Pericas-Geertsen JAX-RS Co-Spec Lead #jax-rs @spericas Agenda Reactive Extensions Server-Sent Events Non-Blocking IO #jax-rs @spericas Reactive Extensions #jax-rs @spericas

More information

CS378 -Mobile Computing. Services and Broadcast Receivers

CS378 -Mobile Computing. Services and Broadcast Receivers CS378 -Mobile Computing Services and Broadcast Receivers Services One of the four primary application components: activities content providers services broadcast receivers 2 Services Application component

More information

The Dining Philosophers Problem CMSC 330: Organization of Programming Languages

The Dining Philosophers Problem CMSC 330: Organization of Programming Languages The Dining Philosophers Problem CMSC 0: Organization of Programming Languages Threads Classic Concurrency Problems Philosophers either eat or think They must have two forks to eat Can only use forks on

More information

Tap BLE API Documentation

Tap BLE API Documentation Tap BLE API Documentation Version 1.0.1 Table of contents Tap BLE API Documentation 1 Table of contents 1 General description 2 Device discovery 2 Scanning 2 Connecting & pairing 2 Usage of API 2 Types

More information

Software Practice 3 Today s lecture Today s Task

Software Practice 3 Today s lecture Today s Task 1 Software Practice 3 Today s lecture Today s Task Prof. Hwansoo Han T.A. Jeonghwan Park 43 2 MULTITHREAD IN ANDROID 3 Activity and Service before midterm after midterm 4 Java Thread Thread is an execution

More information

CS61B, Spring 2003 Discussion #17 Amir Kamil UC Berkeley 5/12/03

CS61B, Spring 2003 Discussion #17 Amir Kamil UC Berkeley 5/12/03 CS61B, Spring 2003 Discussion #17 Amir Kamil UC Berkeley 5/12/03 Topics: Threading, Synchronization 1 Threading Suppose we want to create an automated program that hacks into a server. Many encryption

More information

Assertions, pre/postconditions

Assertions, pre/postconditions Programming as a contract Assertions, pre/postconditions Assertions: Section 4.2 in Savitch (p. 239) Specifying what each method does q Specify it in a comment before method's header Precondition q What

More information

Samsung Galaxy tab, Samsung Galaxy Nexus, Samsung Galaxy S5, Samsung Galaxy S6, HTC Sensation, Coppernic One

Samsung Galaxy tab, Samsung Galaxy Nexus, Samsung Galaxy S5, Samsung Galaxy S6, HTC Sensation, Coppernic One Product / Project: microsensys iid 3000 Java API for Android Customer / Project Code: - Product: MICROSENSYS iid 3000 PRO RFID interfaces Product Code: - Document Revision: 5.6 preli Date: 2017-03-10 API

More information

CMSC 330: Organization of Programming Languages. The Dining Philosophers Problem

CMSC 330: Organization of Programming Languages. The Dining Philosophers Problem CMSC 330: Organization of Programming Languages Threads Classic Concurrency Problems The Dining Philosophers Problem Philosophers either eat or think They must have two forks to eat Can only use forks

More information

Lecture 08. Android Permissions Demystified. Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner. Operating Systems Practical

Lecture 08. Android Permissions Demystified. Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner. Operating Systems Practical Lecture 08 Android Permissions Demystified Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner Operating Systems Practical 20 November, 2013 OSP Lecture 08, Android Permissions Demystified

More information

Version 8.0 PREEMPTIVE SOLUTIONS DASHO. User Guide

Version 8.0 PREEMPTIVE SOLUTIONS DASHO. User Guide Version 8.0 PREEMPTIVE SOLUTIONS DASHO User Guide 1998-2016 by PreEmptive Solutions, LLC All rights reserved. Manual Version 8.0-preview www.preemptive.com TRADEMARKS DashO, Overload-Induction, the PreEmptive

More information

Lab 5 Periodic Task Scheduling

Lab 5 Periodic Task Scheduling Lab 5 Periodic Task Scheduling Scheduling a periodic task in Android is difficult as it goes against the philosophy of keeping an application active only while the user is interacting with it. You are

More information

RUNTIME PERMISSIONS IN ANDROID 6.0 Lecture 10a

RUNTIME PERMISSIONS IN ANDROID 6.0 Lecture 10a RUNTIME PERMISSIONS IN ANDROID 6.0 Lecture 10a COMPSCI 702 Security for Smart-Devices Muhammad Rizwan Asghar March 20, 2018 2 ANDROID 6.0 A version of the Android mobile operating system officially released

More information

LCP-USB Inclinometer sensor DLL Interface library description Page 1 of 5

LCP-USB Inclinometer sensor DLL Interface library description Page 1 of 5 LCP-USB Inclinometer sensor DLL Interface library description Page 1 of 5 Description The LCP-USB sensor connects to a USB host (PC) with a standard 4 pin USB A connector. It is USB 2.0 compatible. The

More information

Writing Efficient Drive Apps for Android. Claudio Cherubino / Alain Vongsouvanh Google Drive Developer Relations

Writing Efficient Drive Apps for Android. Claudio Cherubino / Alain Vongsouvanh Google Drive Developer Relations Writing Efficient Drive Apps for Android Claudio Cherubino / Alain Vongsouvanh Google Drive Developer Relations Raise your hand if you use Google Drive source: "put your hands up!" (CC-BY) Raise the other

More information

Announcements. Lab Friday, 1-2:30 and 3-4:30 in Boot your laptop and start Forte, if you brought your laptop

Announcements. Lab Friday, 1-2:30 and 3-4:30 in Boot your laptop and start Forte, if you brought your laptop Announcements Lab Friday, 1-2:30 and 3-4:30 in 26-152 Boot your laptop and start Forte, if you brought your laptop Create an empty file called Lecture4 and create an empty main() method in a class: 1.00

More information

Recap. Contents. Reenterancy of synchronized. Explicit Locks: ReentrantLock. Reenterancy of synchronise (ctd) Advanced Thread programming.

Recap. Contents. Reenterancy of synchronized. Explicit Locks: ReentrantLock. Reenterancy of synchronise (ctd) Advanced Thread programming. Lecture 07: Advanced Thread programming Software System Components 2 Behzad Bordbar School of Computer Science, University of Birmingham, UK Recap How to deal with race condition in Java Using synchronised

More information

A web-based IDE for Java

A web-based IDE for Java A web-based IDE for Java Software Engineering Laboratory By: Supervised by: Marcel Bertsch Christian Estler Dr. Martin Nordio Prof. Dr. Bertrand Meyer Student Number: 09-928-896 Content 1 Introduction...3

More information

register/unregister for Intent to be activated if device is within a specific distance of of given lat/long

register/unregister for Intent to be activated if device is within a specific distance of of given lat/long stolen from: http://developer.android.com/guide/topics/sensors/index.html Locations and Maps Build using android.location package and google maps libraries Main component to talk to is LocationManager

More information

Release Notes Cordova Plugin for Samsung Developers

Release Notes Cordova Plugin for Samsung Developers reception.van@samsung.com Release Notes Cordova Plugin for Samsung Developers Version 1.5 May 2016 Copyright Notice Copyright 2016 Samsung Electronics Co. Ltd. All rights reserved. Samsung is a registered

More information

CS 11 java track: lecture 1

CS 11 java track: lecture 1 CS 11 java track: lecture 1 Administrivia need a CS cluster account http://www.cs.caltech.edu/ cgi-bin/sysadmin/account_request.cgi need to know UNIX www.its.caltech.edu/its/facilities/labsclusters/ unix/unixtutorial.shtml

More information

Lab5. Wooseok Kim

Lab5. Wooseok Kim Lab5 Wooseok Kim wkim3@albany.edu www.cs.albany.edu/~wooseok/201 Question Answer Points 1 A or B 8 2 A 8 3 D 8 4 20 5 for class 10 for main 5 points for output 5 D or E 8 6 B 8 7 1 15 8 D 8 9 C 8 10 B

More information

Authentication Layer

Authentication Layer Authentication Layer In order to provide the authenticated perfect links abstraction an auxiliary authentication layer can be used on the top of a perfect point to point layer. The authentication layer

More information

Message Passing & APIs

Message Passing & APIs CS 160 User Interface Design Message Passing & APIs Section 05 // September 25th, 2015 Tricia Fu // OH Monday 9:30-10:30am // triciasfu@berkeley.edu Agenda 1 Administrivia 2 Brainstorm Discussion 3 Message

More information

Technical Note: LogicalApps Web Services

Technical Note: LogicalApps Web Services Technical Note: LogicalApps Web Services Introduction... 1 Access Governor Overview... 1 Web Services Overview... 2 Web Services Environment... 3 Web Services Documentation... 3 A Sample Client... 4 Introduction

More information

TECHNICAL NOTE: ENGAGE Firmware Update Options

TECHNICAL NOTE: ENGAGE Firmware Update Options ENGAGE Firmware Update with Mobile Device There are four ways to update firmware in an ENGAGE enabled Device Automatic Firmware Update Manual Firmware Update with Wi-Fi Manual Firmware Update without Wi-Fi

More information

PASS4TEST IT 인증시험덤프전문사이트

PASS4TEST IT 인증시험덤프전문사이트 PASS4TEST IT 인증시험덤프전문사이트 http://www.pass4test.net 일년동안무료업데이트 Exam : 1z0-809 Title : Java SE 8 Programmer II Vendor : Oracle Version : DEMO Get Latest & Valid 1z0-809 Exam's Question and Answers 1 from

More information

In-app Billing Version 3

In-app Billing Version 3 13 In-app Billing Version 3 Bruno Oliveira Developer Relations, Android 13 In-app billing! 2 In-app billing! Implement ALL the billing! 2 In-app billing! DO NOT WANT 2 PREVIOUSLY IN IN-APP BILLING 3 Easy

More information

JSS Events Reference!

JSS Events Reference! JSS Events Reference Version 9.2 JAMF Software, LLC 2002-2014. All rights reserved. Last Updated December 15, 2013 JAMF Software, LLC 2014 JAMF Software, LLC. All rights reserved. JAMF Software has made

More information

App Development for Smart Devices. Lec #17: Networking II

App Development for Smart Devices. Lec #17: Networking II App Development for Smart Devices CS 495/595 - Fall 2011 Lec #17: Networking II Tamer Nadeem Dept. of Computer Science Objective Bluetooth Network Connectivity and WiFi Presentation - Mobile Crowdsensing:

More information

Vendor: Oracle. Exam Code: 1Z Exam Name: Java Certified Programmer. Version: Demo

Vendor: Oracle. Exam Code: 1Z Exam Name: Java Certified Programmer. Version: Demo Vendor: Oracle Exam Code: 1Z0-501 Exam Name: Java Certified Programmer Version: Demo QUESTION NO: 1 Which statement is true? A. An anonymous inner class may be declared as final. B. An anonymous inner

More information

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android Lecture 2 MTAT.03.262 Satish Srirama satish.srirama@ut.ee Android Lecture 1 -recap What is Android How to develop Android applications Run & debug the applications

More information