Using Extensions or Cordova Plugins in your RhoMobile Application Darryn

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Using Extensions or Cordova Plugins in your RhoMobile Application Darryn Campbell @darryncampbell"

Transcription

1 Using Extensions or Cordova Plugins in your RhoMobile Application Darryn Application Architect

2 Agenda Creating a Rho Native Extension on Android Converting a Cordova Plugin to a Rho Native Extension Questions

3 Creating a Rho Native Extension on Android

4 Creating a Native Extension - Overview What a Native Extension IS: Exposes native code through either JavaScript or Ruby What a Native Extension is NOT: Easier to create than a native app Ask high level questions: Why are you creating a native extension? Would it make more sense to create a native application rather than use Rho? What platforms does your native extension need to work on? The fewer platforms you need to support, the less your need for a cross platform framework. Treat native extension development like any other software project: Gather requirements Design your API Implement Debug / Test These steps can be quite painful with the current version(s) of Rho and we would like to improve in the future

5 Creating a Native Extension Pre-Requisites: RhoMobile Suite installed (I m using RMS 5.1) Android SDK installed (I m using API level 22 to avoid the compatibility issue with level 23 and RMS 5.1) Android NDK (I m using r9d) Rhobuild.yml configured appropriately Worked Example: A native extension to expose the Android Light Sensor to a Rho application API will consist of two methods to start or stop listening for updates from the sensor API will expose a property of how frequently to request updates from the sensor API will pre-define constants for FAST and NORMAL update speed Doing it Native: What does the Native code look like? Great example we can just copy / paste at See next slide

6 Creating a Native App Light Sensor public class SensorActivity extends Activity implements SensorEventListener { private SensorManager msensormanager; private Sensor mlight; public final void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } msensormanager = (SensorManager) getsystemservice(context.sensor_service); mlight = public final void onaccuracychanged(sensor sensor, int accuracy) { // Do something here if sensor accuracy changes. public final void onsensorchanged(sensorevent event) { // The light sensor returns a single value. // Many sensors return 3 values, one for each axis. float lux = event.values[0]; // Do something with this sensor value. protected void onresume() { super.onresume(); msensormanager.registerlistener(this, mlight, SensorManager.SENSOR_DELAY_NORMAL); protected void onpause() { super.onpause(); msensormanager.unregisterlistener(this); }

7 Creating a Native App Light Sensor DEMO Light Sensor Native Application

8 Creating a Native Extension Light Sensor Step 1: Create a Rho application into which your native extension will be placed >rhoelements app appforum-example Cd into your application >cd appforum-example Create the extension >Rhodes extension lightsensor Design the API: Open generated /extensions/lightsensor/ext/lightsensor.xml Modify your xml API definition Add the methods, constants and properties we previously described More detail available in the help docs at

9 Creating a Native Extension Light Sensor CD to the directory that contains your XML >cd extensions/lightsensor/ext Regenerate the code based on your updated XML >rhogen api Lightsensor.xml Add your new extension to your build.xml Extensions: - lightsensor Open the native API implementation & observe the structure >(your favourite editor) /platform/android/src/com/rho/lightsensor Since we have specified DEFAULT_INSTANCE in our API template we have a factory and singleton classes created for us. We don t need to modify the LightsensorFactory.java or LightsensorSingleton.java as we re only concerned with a single Light Sensor. This is best practice with hardware APIs like scanners where the device can have multiple scanners

10 Creating a Native Extension Light Sensor Modify Lightsensor.java the methods you defined in your XML as well as property accessors. Make any additional updates as required, i.e. in this case we need to implement SensorEventListener

11 Creating a Native Extension Light Sensor Test it You MUST perform a clean build prior to testing the public interface: >rake clean:android >rake device:android:production Takes ~ 10 minutes

12 Creating a Native Extension Light Sensor Test it with a bit more pizzaz

13 Creating a Native Extension Light Sensor Test it with a bit more pizzaz

14 Creating a Native Extension Light Sensor DEMO A Light Sensor Native Extension

15 Creating a Native Extension Light Sensor But wait what if it doesn t work first time?? It is not possible to load your native extension in eclipse and build from there as Rhodes build scripts are rake based rather than ant or gradle The only way to debug what is going on is to use logcat and logging Import android.util.log Log.d( Light Sensor, Why isn t this darn thing working? ); Try a clean build: >rake clean:android We are continually looking at ways to improve our developer experience

16 Converting a Cordova Plugin to a Rho Native Extension

17 Converting a Cordova Plugin What are we doing here? There are currently hundreds if not thousands of Cordova plugins available for Phonegap / Ionic / Cordova projects. Wouldn t it be great if you could use them in your Rho application with minimal fuss and bother? Good news! You can, sort of whilst technically possible this is an advanced topic so be warned.

18 Converting a Cordova Plugin - Walkthrough For this example we have the official Zxing scanner for cordova: Not associated with Zebra technologies I m showing this example on Android since that is the main Zebra platform Clone the Repo (phonegap-plugin-barcodescanner) >git clone Familiarize yourself with the plugin and github repo: The npm page with duplicate documentation: The JavaScript interface exposed by the plugin: /www/barcodescanner.js Source code: src/android/com/phonegap/plugins/barcodescanner Jar file: src/android/com.google.zxing.client.android.captureactivity.jar Android resources associated with plugin e.g. view: src/android/libraryproject/res The Cordova plugin configuration file: /plugin.xml

19 Cordova Plugin XML - Walkthrough

20 Cordova Plugin XML

21 Cordova Plugin XML

22 Cordova Plugin XML

23 Cordova Plugin XML

24 Cordova Plugin XML

25 Cordova Plugin XML

26 Cordova Plugin XML

27 Prepare your Rho Native Extension Design an API for your native Extension We ll call ours cordovabarcode You will not be able to map the API 1:1 with the Cordova plugin as Rho does not support multiple callbacks in the same method: E.g. Where the Cordova plugin uses: BarcodeScanner.prototype.scan = function (successcallback, errorcallback, config) { } We will use: Rho.CordovaScanner.scan(propertyMap, callback); Example call: Rho.CordovaScanner.scan({}, function(scanneddata) {alert(scanneddata);});

28 Prepare your Rho Native Extension Create the native extension for cordova barcode and define the XML as previously explained: >rhodes extension cordovabarcode (Create the XML for the Cordova Barcode interface) Re-Generate the files that depend on the XML structure >cd extensions/lightsensor/ext >rhogen api Cordovabarcode.xml Add your new extension to your build.xml extensions: - lightsensor - cordovabarcode Perform a clean build to ensure all changes are picked up >rake clean:android >rake device:android:production

29 A Closer look at our defined interface Methods: Enumerate Scan From the generator, keep this here for best Rho practise with hardware APIs Just to keep things simple we ll only expose the Scan API and ignore Encode Takes a property map, a JSON object or Ruby hash defining the scanner configuration Takes a single callback. For simplicity s sake we will assume the scan is always successful and returns some scanned data as a String <METHODS> <METHOD name="enumerate" access="static" hascallback="optional"> </METHOD> <METHOD name="scan" hascallback="mandatory"> <DESC>Start listening for Light sensor changes</desc> <PARAMS><PARAM name="propertymap" type="hash"> <DESC>Some description</desc> </PARAM> </PARAMS> <CALLBACK type="hash"> <DESC>The light sensor value</desc> <PARAMS><PARAM name="data" type="float"> <DESC>The scanned barcode data</desc> </PARAM> </PARAMS> </CALLBACK> </METHOD></METHODS>

30 Update your Rho Native Extension with the Cordova Plugin logic Update build.yml: Add your extension Ensure no existing extensions interfere with your new plugin, i.e. Rho already has an implementation of the Zxing extension and Android will not like it if you try and include it twice. Comment out app_type: rhoelelements to ensure the Barcode API is not included

31 Update your Rho Native Extension with the Cordova Plugin logic Add new Java files to the list of required java files at /extensions/cordovascan ner/ext/platform/androi d/ext_java.files In this case there is only one, BarcodeScanner.java

32 Update your Rho Native Extension with the Cordova Plugin logic Copy the resources from the Cordova Plugin into the Rhodes Native Extension: copy phonegap-plugin-barcodescanner/src/android/libraryproject/res/* to extensions/cordovascanner/ext/platform/android/additional_files/res/* You will need to create the additional_files directory

33 Update your Rho Native Extension with the Cordova Plugin logic Work around any resource conflicts: The build process will not like two resource files with the same name. Rename /extensions/lightsensor/ext/platform/android/additional_files/res/values/strings.xml to strings2.xml The build process will not like two resources with the same name. Comment our the app_name string from strings2.xml. We already have an app_name generated automatically from the name you specify in your build.yml file.

34 Update your Rho Native Extension with the Cordova Plugin logic Copy the lib files from the Cordova Plugin into the Rhodes Native Extension: copy phonegap-plugin-barcodescanner/src/android/com.google.zxing.client.android.captureactivity.jar to extensions/cordovascanner/ext/platform/android/libs/com.google.zxing.client.android.captureactivity.jar You will need to create the libs directory

35 Update your Rho Native Extension with the Cordova Plugin logic Tell the Rhodes extension which changes are required to the Android Manifest Create an empty manifest file named AndroidManifest.xml under /extensions/cordovascanner/ext/platform/android/androidmanifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" package="com.rhomobile.rhodes" android:installlocation="auto" android:versioncode="29" android:versionname="2.3.3"> </manifest> Between the <manifest></manifest> tags add the sections from the Cordova Plugin s plugin.xml that relate to the Android Manifest (see next slide)

36 Update your Rho Native Extension with the Cordova Plugin logic

37 Update your Rho Native Extension with the Cordova Plugin logic

38 Update your Rho Native Extension with the Cordova Plugin logic Update your extension s rake file to ensure the.jar file is included in the build:

39 Update your Rho Native Extension with the Cordova Plugin logic Update your extension s rake file to ensure the.jar file is included in the build:

40 Update your Rho Native Extension with the Cordova Plugin logic Update your extension s rake file to ensure the.jar file is included in the build:

41 Update your Rho Native Extension with the Cordova Plugin logic Update your extension s ext.yml: \extensions\cordovascanner\ext.yml Add definition of the changes we require to the Android Manifest: Manifest_changes: ext/platform/android/androidmanifest.xml Tell Rhodes we are adding additional resources associated with our Extension Adds: ext/platform/android/additional_files Tell Rhodes to listen for incoming intents to the CordovaScannerFactory class Rhodes_listener: com.rho.cordovabarcode.cordovabarcodefactory

42 Update your Rho Native Extension with the Cordova Plugin logic Modify the Cordova plugin code to work within the Rho framework We only have one non-template Java file, BarcodeScanner.java We will be modifying one of the template files to act as a receiver for the scan intent, CordovabarcodeFactory.java We will be modifying the template Cordovabarcode.java to pass the activity result back to the BarcodeScanner class

43 Update your Rho Native Extension with the Cordova Plugin logic Changes to CordovabarcodeFactory.java Implement IRhoListener interface Stub all methods required by IRhoListener interface: oncreateapplication, oncreate, onstart, onresume, onpause, onstop, ondestroy, onnewintent, oncreatedialog, onconfigurationchanged, onkey, onsaveinstancestate, oneblicensevisible, oneblicensehidden, oneblicensedestroyed Implement onactivityresult, inherited from IRhoListener. This receives the scan data from the Zxing activity Our implementation sends the result back to the BarcodeScanner.java class

44 Changes to CordovaBarcodeFactory

45 Update your Rho Native Extension with the Cordova Plugin logic Changes to Cordovabarcode.java Create BarcodeScanner object for each scan (arguments are not processed for brevity) Add onactivityresult method that passes the activity result back to BarcodeScanner.java

46 Update your Rho Native Extension with the Cordova Plugin logic Changes to BarcodeScanner.java No longer extends CordovaPlugin Need to use Rhodes IMethodResult to return data to the user rather than Cordova s this.callbackcontext.success / failure No longer need the Cordova execute() method which is called in response to the Cordova JavaScript API Transition from this.cordova.getactivity() to RhodesActivity.getInstance() onactivityresult is no since we do that in CordovabarcodeFactory

47 Modifications to BarcodeScanner.java

48 Modifications to BarcodeScanner.java

49 Modifications to BarcodeScanner.java

50 Modifications to BarcodeScanner.java

51 Modifications to BarcodeScanner.java

52 Modifications to BarcodeScanner.java

53 Update your Rho Native Extension with the Cordova Plugin logic DEMO Cordova Barcode in a Rho App

54 Resources

55 Resources Templates / Examples Existing open source plugins show a variety of techniques you may wish to use when transitioning your plugin: Android Service: Used by ConnectionChecking extension: nchecking/ext/platform/android Using hardware permissions: AudioCapture extension showcases an alternative way of modifying the Android Manifest: re/ext/platform/android

56 Resources Apps used in this Presentation Native Android application to demonstrate the Light sensor: Rho application with just the Light Sensor extension Official Zxing scanner for Cordova: Rho application with both the light sensor and Cordova Barcode extensions:

57 PLEASE TAKE THE SURVEY DO NOT USE APPFORUM EVENT SURVEY SESSION SURVEY

58 Questions?

59 THANK YOU

60

Android Framework. How to use and extend it

Android Framework. How to use and extend it Android Framework How to use and extend it Lectures 9/10 Android Security Security threats Security gates Android Security model Bound Services Complex interactions with Services Alberto Panizzo 2 Lecture

More information

Sensors & Motion Sensors in Android platform. Minh H Dang CS286 Spring 2013

Sensors & Motion Sensors in Android platform. Minh H Dang CS286 Spring 2013 Sensors & Motion Sensors in Android platform Minh H Dang CS286 Spring 2013 Sensors The Android platform supports three categories of sensors: Motion sensors: measure acceleration forces and rotational

More information

Android Sensors. CPRE 388 Fall 2015 Iowa State University

Android Sensors. CPRE 388 Fall 2015 Iowa State University Android Sensors CPRE 388 Fall 2015 Iowa State University What are sensors? Sense and measure physical and ambient conditions of the device and/or environment Measure motion, touch pressure, orientation,

More information

06 Team Project: Android Development Crash Course; Project Introduction

06 Team Project: Android Development Crash Course; Project Introduction M. Kranz, P. Lindemann, A. Riener 340.301 UE Principles of Interaction, 2014S 06 Team Project: Android Development Crash Course; Project Introduction April 11, 2014 Priv.-Doz. Dipl.-Ing. Dr. Andreas Riener

More information

ELET4133: Embedded Systems. Topic 15 Sensors

ELET4133: Embedded Systems. Topic 15 Sensors ELET4133: Embedded Systems Topic 15 Sensors Agenda What is a sensor? Different types of sensors Detecting sensors Example application of the accelerometer 2 What is a sensor? Piece of hardware that collects

More information

Android Sensor Programming. Weihong Yu

Android Sensor Programming. Weihong Yu Android Sensor Programming Weihong Yu Sensors Overview The Android platform is ideal for creating innovative applications through the use of sensors. These built-in sensors measure motion, orientation,

More information

Introduction to NaviGenie SDK Client API for Android

Introduction to NaviGenie SDK Client API for Android Introduction to NaviGenie SDK Client API for Android Overview 3 Data access solutions. 3 Use your own data in a highly optimized form 3 Hardware acceleration support.. 3 Package contents.. 4 Libraries.

More information

Android Sensors. XI Jornadas SLCENT de Actualización Informática y Electrónica

Android Sensors. XI Jornadas SLCENT de Actualización Informática y Electrónica Android Sensors XI Jornadas SLCENT de Actualización Informática y Electrónica About me José Juan Sánchez Hernández Android Developer (In my spare time :) Member and collaborator of: - Android Almería Developer

More information

Android. Learning Android Marko Gargenta. Tuesday, March 11, 14

Android. Learning Android Marko Gargenta. Tuesday, March 11, 14 Android Learning Android Marko Gargenta Materials Sams Teach Yourself Android Application Development in 24 Hours (Amazon) Android Apps for Absolute Beginners (Amazon) Android Development Tutorial (http://

More information

Android. Lecture 1. Learning Android Marko Gargenta. Friday, March 22, 13

Android. Lecture 1. Learning Android Marko Gargenta. Friday, March 22, 13 Android Lecture 1 Learning Android Marko Gargenta Final Project Jan/Feb: ARM March: Android Apr: Final project Complexity Sense the world Analysis Service delivery Hands-on A fun project built-up through

More information

Android For Java Developers. Marko Gargenta Marakana

Android For Java Developers. Marko Gargenta Marakana Android For Java Developers Marko Gargenta Marakana Agenda Android History Android and Java Android SDK Hello World! Main Building Blocks Debugging Summary History 2005 Google buys Android, Inc. Work on

More information

Using Sensors on the Android Platform. Andreas Terzis Android N00b

Using Sensors on the Android Platform. Andreas Terzis Android N00b Using Sensors on the Android Platform Andreas Terzis Android N00b Hardware-oriented Features Feature Camera Sensor SensorManager SensorEventListener SensorEvent GeoMagneticField Description A class that

More information

Arduino & Android. A How to on interfacing these two devices. Bryant Tram

Arduino & Android. A How to on interfacing these two devices. Bryant Tram Arduino & Android A How to on interfacing these two devices Bryant Tram Contents 1 Overview... 2 2 Other Readings... 2 1. Android Debug Bridge -... 2 2. MicroBridge... 2 3. YouTube tutorial video series

More information

Android app development course

Android app development course Android app development course Unit 7- + Beyond Android Activities. SMS. Audio, video, camera. Sensors 1 SMS We can send an SMS through Android's native client (using an implicit Intent) Intent smsintent

More information

Objective. Android Sensors. Sensor Manager Sensor Types Examples. Page 2

Objective. Android Sensors. Sensor Manager Sensor Types Examples. Page 2 Android Sensors Objective Android Sensors Sensor Manager Sensor Types Examples Page 2 Android.hardware Support for Hardware classes with some interfaces Camera: used to set image capture settings, start/stop

More information

How to develop your own app

How to develop your own app How to develop your own app It s important that everything on the hardware side and also on the software side of our Android-to-serial converter should be as simple as possible. We have the advantage that

More information

PROGRAMMING IN ANDROID. IOANNIS (JOHN) PAPAVASILEIOU OCTOBER 24 2013 papabasile@engr.uconn.edu

PROGRAMMING IN ANDROID. IOANNIS (JOHN) PAPAVASILEIOU OCTOBER 24 2013 papabasile@engr.uconn.edu PROGRAMMING IN ANDROID IOANNIS (JOHN) PAPAVASILEIOU OCTOBER 24 2013 papabasile@engr.uconn.edu WHAT IS IT Software platform Operating system Key apps Developers: Google Open Handset Alliance Open Source

More information

Android on Intel Course App Development - Advanced

Android on Intel Course App Development - Advanced Android on Intel Course App Development - Advanced Paul Guermonprez www.intel-software-academic-program.com paul.guermonprez@intel.com Intel Software 2013-02-08 Persistence Preferences Shared preference

More information

Android Application Development: Hands- On. Dr. Jogesh K. Muppala muppala@cse.ust.hk

Android Application Development: Hands- On. Dr. Jogesh K. Muppala muppala@cse.ust.hk Android Application Development: Hands- On Dr. Jogesh K. Muppala muppala@cse.ust.hk Wi-Fi Access Wi-Fi Access Account Name: aadc201312 2 The Android Wave! 3 Hello, Android! Configure the Android SDK SDK

More information

Frameworks & Android. Programmeertechnieken, Tim Cocx

Frameworks & Android. Programmeertechnieken, Tim Cocx Frameworks & Android Programmeertechnieken, Tim Cocx Discover thediscover world atthe Leiden world University at Leiden University Software maken is hergebruiken The majority of programming activities

More information

Mobile Application Development

Mobile Application Development Mobile Application Development (Android & ios) Tutorial Emirates Skills 2015 3/26/2015 1 What is Android? An open source Linux-based operating system intended for mobile computing platforms Includes a

More information

AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli

AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli Outline Overview of the Android Operating System Development tools Deploying application packages Step-by-step application development The

More information

Android Development Exercises Version - 2012.02. Hands On Exercises for. Android Development. v. 2012.02

Android Development Exercises Version - 2012.02. Hands On Exercises for. Android Development. v. 2012.02 Hands On Exercises for Android Development v. 2012.02 WARNING: The order of the exercises does not always follow the same order of the explanations in the slides. When carrying out the exercises, carefully

More information

Using the Android Sensor API

Using the Android Sensor API Using the Android Sensor API Juan José Marrón Department of Computer Science & Engineering jmarronm@mail.usf.edu # Outline Sensors description: - Motion Sensors - Environmental Sensors - Positioning Sensors

More information

Android Sensors. Mobile Applica1ons Jay Urbain, Ph.D. Credits:

Android Sensors. Mobile Applica1ons Jay Urbain, Ph.D. Credits: Android Sensors Credits: Mobile Applica1ons Jay Urbain, Ph.D. Meier, Reto, Professional Android 4 Applica1on Development. hbp://developer.android.com/guide/topics/sensors/sensors_overview.html hbp://developer.android.com/guide/topics/sensors/sensors_overview.html

More information

Hello World! Some code

Hello World! Some code Embedded Systems Programming Hello World! Lecture 10 Verónica Gaspes www2.hh.se/staff/vero What could an Android hello world application be like? Center for Research on Embedded Systems School of Information

More information

Android Basics. Xin Yang 2016-05-06

Android Basics. Xin Yang 2016-05-06 Android Basics Xin Yang 2016-05-06 1 Outline of Lectures Lecture 1 (45mins) Android Basics Programming environment Components of an Android app Activity, lifecycle, intent Android anatomy Lecture 2 (45mins)

More information

Programming Mobile Applications with Android

Programming Mobile Applications with Android Programming Mobile Applications 22-26 September, Albacete, Spain Jesus Martínez-Gómez Introduction to advanced android capabilities Maps and locations.- How to use them and limitations. Sensors.- Using

More information

Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development.

Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development. Android Development 101 Now that we have the Android SDK, Eclipse and Phones all ready to go we can jump into actual Android development. Activity In Android, each application (and perhaps each screen

More information

Graduate presentation for CSCI 5448. By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Graduate presentation for CSCI 5448. By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu ) Graduate presentation for CSCI 5448 By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu ) Content What is Android?? Versions and statistics Android Architecture Application Components Inter Application

More information

Introduction to Android. CSG250 Wireless Networks Fall, 2008

Introduction to Android. CSG250 Wireless Networks Fall, 2008 Introduction to Android CSG250 Wireless Networks Fall, 2008 Outline Overview of Android Programming basics Tools & Tricks An example Q&A Android Overview Advanced operating system Complete software stack

More information

Lab 1 (Reading Sensors & The Android API) Week 3

Lab 1 (Reading Sensors & The Android API) Week 3 ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 1 (Reading Sensors & The Android API) Week 3 Prepared by Kirill Morozov version 1.1 Deadline: You must submit the lab to the SVN repository

More information

Obsoleted chapter from The Busy Coder's Guide to Advanced Android Development

Obsoleted chapter from The Busy Coder's Guide to Advanced Android Development CHAPTER 13 "" is Android's overall term for ways that Android can detect elements of the physical world around it, from magnetic flux to the movement of the device. Not all devices will have all possible

More information

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011 INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011 1 Goals of the Lecture Present an introduction to the Android Framework Coverage of the framework will be

More information

IBM Tealeaf CX Mobile Android Logging Framework Version 9 Release 0.1 December 4, 2104. IBM Tealeaf CX Mobile Android Logging Framework Guide

IBM Tealeaf CX Mobile Android Logging Framework Version 9 Release 0.1 December 4, 2104. IBM Tealeaf CX Mobile Android Logging Framework Guide IBM Tealeaf CX Mobile Android Logging Framework Version 9 Release 0.1 December 4, 2104 IBM Tealeaf CX Mobile Android Logging Framework Guide Note Before using this information and the product it supports,

More information

Android Training Modules February 1, 2011

Android Training Modules February 1, 2011 Android Training Modules February 1, 2011 Hands-On Training Modules These modules are designed to run 75 minutes with hands-on exercises or 40 minutes lecture-only. Title Topics Exercise Android: Guts

More information

Getting Started: Creating a Simple App

Getting Started: Creating a Simple App Getting Started: Creating a Simple App What You will Learn: Setting up your development environment Creating a simple app Personalizing your app Running your app on an emulator The goal of this hour is

More information

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: Peter@Peter-Lo.com Facebook: http://www.facebook.com/peterlo111

More information

Android Application Development

Android Application Development Android Application Development Self Study Self Study Guide Content: Course Prerequisite Course Content Android SDK Lab Installation Guide Start Training Be Certified Exam sample Course Prerequisite The

More information

Introduction to Android Development. Daniel Rodrigues, Buuna 2014

Introduction to Android Development. Daniel Rodrigues, Buuna 2014 Introduction to Android Development Daniel Rodrigues, Buuna 2014 Contents 1. Android OS 2. Development Tools 3. Development Overview 4. A Simple Activity with Layout 5. Some Pitfalls to Avoid 6. Useful

More information

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) today l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) l Other: Signing Apps, SVN l Discussion and Questions introduction to android

More information

This is a brief tutorial will show you how to code a very basic two button android application (with a start button and a stop button).

This is a brief tutorial will show you how to code a very basic two button android application (with a start button and a stop button). Creating a Simple Android App with 2 Buttons This is a brief tutorial will show you how to code a very basic two button android application (with a start button and a stop button). You can use this code

More information

App Development for Smart Devices. Lec #5: Android Sensors

App Development for Smart Devices. Lec #5: Android Sensors App Development for Smart Devices CS 495/595 - Fall 2012 Lec #5: Android Sensors Tamer Nadeem Dept. of Computer Science Objective Working in Background Sensor Manager Examples Sensor Types Page 2 What

More information

How to Create an Android Application using Eclipse on Windows 7

How to Create an Android Application using Eclipse on Windows 7 How to Create an Android Application using Eclipse on Windows 7 Kevin Gleason 11/11/11 This application note is design to teach the reader how to setup an Android Development Environment on a Windows 7

More information

Android Security Lab WS 2014/15 Lab 1: Android Application Programming

Android Security Lab WS 2014/15 Lab 1: Android Application Programming Saarland University Information Security & Cryptography Group Prof. Dr. Michael Backes saarland university computer science Android Security Lab WS 2014/15 M.Sc. Sven Bugiel Version 1.0 (October 6, 2014)

More information

Android Project Anatomy

Android Project Anatomy Android Project Anatomy What is JDK, SDK, ADT, AVD and Eclipse!! When you complete lab0 you will notice that we have installed a lot of components in order to start developing android. The figure below

More information

Mobile Application Frameworks and Services

Mobile Application Frameworks and Services Mobile Application Frameworks and Services Lecture: Programming Basics Dr. Panayiotis Alefragis Professor of Applications Masters Science Program: Technologies and Infrastructures for Broadband Applications

More information

Android Environment SDK

Android Environment SDK Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 2A. Android Environment: Eclipse & ADT The Android

More information

Developing Android Apps: Part 1

Developing Android Apps: Part 1 : Part 1 d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282 Principles of Operating Systems II Systems

More information

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer Developing multidevice-apps using Apache Cordova and HTML5 Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer WTF is Apache Cordova? Set of device APIs that allow to access native device

More information

Mobile App Sensor Documentation (English Version)

Mobile App Sensor Documentation (English Version) Mobile App Sensor Documentation (English Version) Mobile App Sensor Documentation (English Version) Version: 1.2.1 Date: 2015-03-25 Author: email: Kantar Media spring support@spring.de Content Mobile App

More information

Introduction to Android Programming. Khuong Vu, Graduate student Computer Science department

Introduction to Android Programming. Khuong Vu, Graduate student Computer Science department Introduction to Android Programming Khuong Vu, Graduate student Computer Science department 1 Content Get started Set up environment Running app on simulator GUI Layouts Event handling Life cycle Networking

More information

Operating System Support for Inter-Application Monitoring in Android

Operating System Support for Inter-Application Monitoring in Android Operating System Support for Inter-Application Monitoring in Android Daniel M. Jackowitz Spring 2013 Submitted in partial fulfillment of the requirements of the Master of Science in Software Engineering

More information

Internal Services. CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr. Rajiv Ramnath

Internal Services. CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr. Rajiv Ramnath Internal Services CSE 5236: Mobile Application Development Instructor: Adam C. Champion Course Coordinator: Dr. Rajiv Ramnath 1 Internal Services Communication: Email, SMS and telephony Audio and video:

More information

Login with Amazon Getting Started Guide for Android. Version 2.0

Login with Amazon Getting Started Guide for Android. Version 2.0 Getting Started Guide for Android Version 2.0 Login with Amazon: Getting Started Guide for Android Copyright 2016 Amazon.com, Inc., or its affiliates. All rights reserved. Amazon and the Amazon logo are

More information

Mocean Android SDK Developer Guide

Mocean Android SDK Developer Guide Mocean Android SDK Developer Guide For Android SDK Version 3.2 136 Baxter St, New York, NY 10013 Page 1 Table of Contents Table of Contents... 2 Overview... 3 Section 1 Setup... 3 What changed in 3.2:...

More information

Android Development Tutorial. Nikhil Yadav CSE40816/60816 - Pervasive Health Fall 2011

Android Development Tutorial. Nikhil Yadav CSE40816/60816 - Pervasive Health Fall 2011 Android Development Tutorial Nikhil Yadav CSE40816/60816 - Pervasive Health Fall 2011 Database connections Local SQLite and remote access Outline Setting up the Android Development Environment (Windows)

More information

Develop a Hello World project in Android Studio Capture, process, store, and display an image. Other sensors on Android phones

Develop a Hello World project in Android Studio Capture, process, store, and display an image. Other sensors on Android phones Kuo-Chin Lien Develop a Hello World project in Android Studio Capture, process, store, and display an image on Android phones Other sensors on Android phones If you have been using Eclipse with ADT, be

More information

Android Java Live and In Action

Android Java Live and In Action Android Java Live and In Action Norman McEntire Founder, Servin Corp UCSD Extension Instructor norman.mcentire@servin.com Copyright (c) 2013 Servin Corp 1 Opening Remarks Welcome! Thank you! My promise

More information

An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi

An Introduction to Android Application Development. Serdar Akın, Haluk Tüfekçi An Introduction to Android Application Serdar Akın, Haluk Tüfekçi ARDIC ARGE http://www.ardictech.com April 2011 Environment Programming Languages Java (Officially supported) C (Android NDK Needed) C++

More information

BUILDING MOBILE WEB APPS WITH PHONEGAP. Matt Zukowski

BUILDING MOBILE WEB APPS WITH PHONEGAP. Matt Zukowski BUILDING MOBILE WEB APPS WITH PHONEGAP Matt Zukowski This slide deck https://slid.es/zukzuk/phonegap 1. Install Android Development Tools 2. Install Phonegap 3. Build a simple app using Phonegap 4. Build

More information

OpenCV on Android Platforms

OpenCV on Android Platforms OpenCV on Android Platforms Marco Moltisanti Image Processing Lab http://iplab.dmi.unict.it moltisanti@dmi.unict.it http://www.dmi.unict.it/~moltisanti Outline Intro System setup Write and build an Android

More information

Developing Sensor Applications on Intel Atom Processor-Based Android* Phones and Tablets

Developing Sensor Applications on Intel Atom Processor-Based Android* Phones and Tablets Developing Sensor Applications on Intel Atom Processor-Based Android* Phones and Tablets This guide provides application developers with an introduction to the Android Sensor framework and discusses how

More information

Hello World. by Elliot Khazon

Hello World. by Elliot Khazon Hello World by Elliot Khazon Prerequisites JAVA SDK 1.5 or 1.6 Windows XP (32-bit) or Vista (32- or 64-bit) 1 + more Gig of memory 1.7 Ghz+ CPU Tools Eclipse IDE 3.4 or 3.5 SDK starter package Installation

More information

AndroLIFT: A Tool for Android Application Life Cycles

AndroLIFT: A Tool for Android Application Life Cycles AndroLIFT: A Tool for Android Application Life Cycles Dominik Franke, Tobias Royé, and Stefan Kowalewski Embedded Software Laboratory Ahornstraße 55, 52074 Aachen, Germany { franke, roye, kowalewski}@embedded.rwth-aachen.de

More information

directory to "d:\myproject\android". Hereafter, I shall denote the android installed directory as

directory to d:\myproject\android. Hereafter, I shall denote the android installed directory as 1 of 6 2011-03-01 12:16 AM yet another insignificant programming notes... HOME Android SDK 2.2 How to Install and Get Started Introduction Android is a mobile operating system developed by Google, which

More information

Introduction to Android SDK Jordi Linares

Introduction to Android SDK Jordi Linares Introduction to Android SDK Introduction to Android SDK http://www.android.com Introduction to Android SDK Google -> OHA (Open Handset Alliance) The first truly open and comprehensive platform for mobile

More information

Programming Android Smart Phones. Tom Chothia Internet Computing Workshop

Programming Android Smart Phones. Tom Chothia Internet Computing Workshop Programming Android Smart Phones Tom Chothia Internet Computing Workshop What is Android? A mobile phone operating system. Best selling smart phone OS. Runs on a range of hardware Based on Linux and Java

More information

Chapter 2 Getting Started

Chapter 2 Getting Started Welcome to Android Chapter 2 Getting Started Android SDK contains: API Libraries Developer Tools Documentation Sample Code Best development environment is Eclipse with the Android Developer Tool (ADT)

More information

Q1. What method you should override to use Android menu system?

Q1. What method you should override to use Android menu system? AND-401 Exam Sample: Q1. What method you should override to use Android menu system? a. oncreateoptionsmenu() b. oncreatemenu() c. onmenucreated() d. oncreatecontextmenu() Answer: A Q2. What Activity method

More information

Developing Android Apps for BlackBerry 10. JAM 354 Matthew Whiteman - Product Manager February 6, 2013

Developing Android Apps for BlackBerry 10. JAM 354 Matthew Whiteman - Product Manager February 6, 2013 Developing Android Apps for BlackBerry 10 JAM 354 Matthew Whiteman - Product Manager February 6, 2013 Overview What is the BlackBerry Runtime for Android Apps? BlackBerry 10 Features New Features Demo

More information

Android Concepts and Programming TUTORIAL 1

Android Concepts and Programming TUTORIAL 1 Android Concepts and Programming TUTORIAL 1 Kartik Sankaran kar.kbc@gmail.com CS4222 Wireless and Sensor Networks [2 nd Semester 2013-14] 20 th January 2014 Agenda PART 1: Introduction to Android - Simple

More information

( Modified from Original Source at http://www.devx.com/wireless/article/39239 )

( Modified from Original Source at http://www.devx.com/wireless/article/39239 ) Accessing GPS information on your Android Phone ( Modified from Original Source at http://www.devx.com/wireless/article/39239 ) Using Eclipse, create a new Android project and name it GPS.java. To use

More information

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Introduction to Android Development. Jeff Avery CS349, Mar 2013 Introduction to Android Development Jeff Avery CS349, Mar 2013 Overview What is Android? Android Architecture Overview Application Components Activity Lifecycle Android Developer Tools Installing Android

More information

Android Development. Marc Mc Loughlin

Android Development. Marc Mc Loughlin Android Development Marc Mc Loughlin Android Development Android Developer Website:h:p://developer.android.com/ Dev Guide Reference Resources Video / Blog SeCng up the SDK h:p://developer.android.com/sdk/

More information

Android Tutorial. Larry Walters OOSE Fall 2011

Android Tutorial. Larry Walters OOSE Fall 2011 Android Tutorial Larry Walters OOSE Fall 2011 References This tutorial is a brief overview of some major concepts Android is much richer and more complex Developer s Guide http://developer.android.com/guide/index.html

More information

Developing Android Apps for BlackBerry 10. JAM854 Mike Zhou- Developer Evangelist, APAC Nov 30, 2012

Developing Android Apps for BlackBerry 10. JAM854 Mike Zhou- Developer Evangelist, APAC Nov 30, 2012 Developing Android Apps for BlackBerry 10 JAM854 Mike Zhou- Developer Evangelist, APAC Nov 30, 2012 Overview What is the BlackBerry Runtime for Android Apps? Releases and Features New Features Demo Development

More information

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall 2015 1

ECE 455/555 Embedded System Design. Android Programming. Wei Gao. Fall 2015 1 ECE 455/555 Embedded System Design Android Programming Wei Gao Fall 2015 1 Fundamentals of Android Application Java programming language Code along with any required data and resource files are compiled

More information

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Why Android? ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Dr Dimitris C. Dracopoulos A truly open, free development platform based on Linux and open source A component-based

More information

Advertiser Campaign SDK Your How-to Guide

Advertiser Campaign SDK Your How-to Guide Advertiser Campaign SDK Your How-to Guide Using Leadbolt Advertiser Campaign SDK with Android Apps Version: Adv2.03 Copyright 2012 Leadbolt All rights reserved Disclaimer This document is provided as-is.

More information

PubMatic Android SDK. Developer Guide. For Android SDK Version 4.3.5

PubMatic Android SDK. Developer Guide. For Android SDK Version 4.3.5 PubMatic Android SDK Developer Guide For Android SDK Version 4.3.5 Nov 25, 2015 1 2015 PubMatic Inc. All rights reserved. Copyright herein is expressly protected at common law, statute, and under various

More information

Measuring The End-to-End Value Of Your App. Neil Rhodes: Tech Lead, Mobile Analytics Nick Mihailovski: Developer Programs Engineer

Measuring The End-to-End Value Of Your App. Neil Rhodes: Tech Lead, Mobile Analytics Nick Mihailovski: Developer Programs Engineer Developers Measuring The End-to-End Value Of Your App Neil Rhodes: Tech Lead, Mobile Analytics Nick Mihailovski: Developer Programs Engineer What you re measuring Web site Mobile app Announcing: Google

More information

The Decaffeinated Robot

The Decaffeinated Robot Developing on without Java Texas Linux Fest 2 April 2011 Overview for Why? architecture Decaffeinating for Why? architecture Decaffeinating for Why choose? Why? architecture Decaffeinating for Why choose?

More information

Basics of Android Development 1

Basics of Android Development 1 Departamento de Engenharia Informática Minds-On Basics of Android Development 1 Paulo Baltarejo Sousa pbs@isep.ipp.pt 2016 1 The content of this document is based on the material presented at http://developer.android.com

More information

HTTPS hg clone https://bitbucket.org/dsegna/device plugin library SSH hg clone ssh://hg@bitbucket.org/dsegna/device plugin library

HTTPS hg clone https://bitbucket.org/dsegna/device plugin library SSH hg clone ssh://hg@bitbucket.org/dsegna/device plugin library Contents Introduction... 2 Native Android Library... 2 Development Tools... 2 Downloading the Application... 3 Building the Application... 3 A&D... 4 Polytel... 6 Bluetooth Commands... 8 Fitbit and Withings...

More information

Hybrid apps with HTML5 Android NDK

Hybrid apps with HTML5 Android NDK http://www.android.com/ Hybrid apps with HTML5 Android NDK Web tech on the mobile HTML5 currently under development New syntactical features. These include the , and elements Integration

More information

Developing Android Apps with the ArcGIS Runtime SDK for Android. Dan O Neill @jdoneill @doneill

Developing Android Apps with the ArcGIS Runtime SDK for Android. Dan O Neill @jdoneill @doneill Developing Android Apps with the ArcGIS Runtime SDK for Android Dan O Neill @jdoneill @doneill Xueming Wu @xuemingrocks Agenda Introduction to the ArcGIS Android SDK Maps & Layers Basemaps (Portal) Location

More information

Android Environment SDK

Android Environment SDK Part 2-a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android

More information

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 2 Android Platform. Marco Picone - 2012

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 2 Android Platform. Marco Picone - 2012 Android Development Lecture 2 Android Platform Università Degli Studi di Parma Lecture Summary 2 The Android Platform Dalvik Virtual Machine Application Sandbox Security and Permissions Traditional Programming

More information

Advantages. manage port forwarding, set breakpoints, and view thread and process information directly

Advantages. manage port forwarding, set breakpoints, and view thread and process information directly Part 2 a Android Environment SDK Victor Matos Cleveland State University Notes are based on: Android Developers http://developer.android.com/index.html 1 Android Environment: Eclipse & ADT The Android

More information

Managing Android Fragmentation. Carter Jernigan two forty four a.m. LLC

Managing Android Fragmentation. Carter Jernigan two forty four a.m. LLC Managing Android Fragmentation Carter Jernigan two forty four a.m. LLC #1 Android 2.1+ only http://developer.android.com/resources/dashboard/platform-versions.html Only 1.6% of all Android users are running

More information

ANDROID AND ANDROID APPLICATIONS. UDAY LINGALA CSCI 5448, Fall 2012

ANDROID AND ANDROID APPLICATIONS. UDAY LINGALA CSCI 5448, Fall 2012 ANDROID AND ANDROID APPLICATIONS UDAY LINGALA CSCI 5448, Fall 2012 Content Introduction to Android system What is android? History Android Market Why Android Design philosophy System Architecture Features

More information

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Why Android? ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android Dr Dimitris C. Dracopoulos A truly open, free development platform based on Linux and open source A component-based

More information

AdFalcon Android SDK 2.1.4 Developer's Guide. AdFalcon Mobile Ad Network Product of Noqoush Mobile Media Group

AdFalcon Android SDK 2.1.4 Developer's Guide. AdFalcon Mobile Ad Network Product of Noqoush Mobile Media Group AdFalcon Android SDK 214 Developer's Guide AdFalcon Mobile Ad Network Product of Noqoush Mobile Media Group Table of Contents 1 Introduction 3 Supported Android version 3 2 Project Configurations 4 Step

More information

JC Now. Case Study in Building an App on the Cheap. Nick O Day GIS Manager. be the exception

JC Now. Case Study in Building an App on the Cheap. Nick O Day GIS Manager. be the exception \ JC Now Case Study in Building an App on the Cheap Nick O Day GIS Manager 1 Background Within Metro Atlanta area (30 minute drive to downtown Atlanta) Within Fulton County Population: ~1,000,000 Johns

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

How to build your first Android Application in Windows

How to build your first Android Application in Windows APPLICATION NOTE How to build your first Android Application in Windows 3/30/2012 Created by: Micah Zastrow Abstract This application note is designed to teach the reader how to setup the Android Development

More information

QML and JavaScript for Native App Development

QML and JavaScript for Native App Development Esri Developer Summit March 8 11, 2016 Palm Springs, CA QML and JavaScript for Native App Development Michael Tims Lucas Danzinger Agenda Native apps. Why? Overview of Qt and QML How to use JavaScript

More information

Android (2009.12.30) Frank Ducrest

Android (2009.12.30) Frank Ducrest Android (2009.12.30) Frank Ducrest Android 2 Android mobile operating system based on a monolithic Linux kernel (all OS operations take place in the kernel space) suited to Java apps by design (Dalvik

More information

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen, 2013.06.18

Android Programming. Høgskolen i Telemark Telemark University College. Cuong Nguyen, 2013.06.18 Høgskolen i Telemark Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Cuong Nguyen, 2013.06.18 Faculty of Technology, Postboks 203, Kjølnes ring

More information