Introduction to Native Android Development with NDK

Size: px
Start display at page:

Download "Introduction to Native Android Development with NDK"

Transcription

1 Introduction to Native Android Development with NDK

2 Outline Motivation: case study of a real project Android Architecture Simplified Tool chain Diagram Adding 3 rd party modules Adding pdf and encrypted DB Files Layout Code Layout Passing parameters Java - Native Debugging with logs Tools Overview Exercises Q&A

3 Motivation: case study of a real project

4 Motivation: case study of a real project

5 Motivation: case study of a real project

6 Motivation: case study of a real project

7 Motivation: case study of a real project

8 Motivation: case study of a real project How can we encrypt the DB? How can we generate pdf reports?

9 Embedded Android By: Karim Yaghmour Published by O Reilly Media, Inc. Copyright 2013 Karim Yaghmour All rights reserved. Used with permission Android Architecture

10 Android Architecture Forked Linux Distribution Example: Logging No Linux System Logs Android Own Logging driver Maintains own circular buffer No socket access per message, thus no context switch per message All components rely on liblog Embedded Android By: Karim Yaghmour Published by O Reilly Media, Inc. Copyright 2013 Karim Yaghmour All rights reserved. Used with permission

11 Simplified* Tool chain Diagram Native Source files (*.c, *.cpp) Java source files (*.java) Crosscompiler Java Compiler Object files (*.o) Static libraries *.a 3 rd party libraries and.class files Class files (*.class) Linker dex Dynamic Library (*.so) Apk builder.dex files Here we omit aidl, graphics, xml etc Apk file

12 Adding 3 rd party modules Native Source files (*.c, *.cpp) 3 rd Party Native Source files (*.c, *.cpp) Java source files (*.java) Crosscompiler 3 rd Party Static Libraries (*.a) Java Compiler Object files (*.o) Static libraries *.a 3 rd party libraries and.class files Class files (*.class) Linker 3 rd Party Dynamic Library (*.so) dex Dynamic Library (*.so) Apk builder.dex files Apk file

13 Adding pdf and encrypted DB Native Source files (*.c, *.cpp) libharu (*.cpp, *.h) Java source files (*.java) Crosscompiler Java Compiler Object files (*.o) Static libraries *.a 3 rd party libraries and.class files Class files (*.class) Linker libsqlcipher_android*.so dex Dynamic Library (*.so) Apk builder.dex files Apk file

14 Project layout Files Layout Contents of apk Makefile C/C++ source dex file (.class packaged in Android dex format) Dynamic Library Dynamic Library Object File

15 Code Layout LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := HelloJNI LOCAL_SRC_FILES := HelloJNI.cpp include $(BUILD_SHARED_LIBRARY) extern "C" { JNIEXPORT jstring JNICALL Java_com_example_hellojni_MainActivity_strcat(JNIEnv * env, jobject obj, jstring jstr1, jstring jstr2) { char buf[128]; return env->newstringutf(buf); } Interface to the JVM public native String strcat(string str1, String str2); static { System.loadLibrary("HelloJNI"); }

16 Passing parameters Java - Native JNIEXPORT jstring JNICALL Java_com_example_hellojni_MainActivity_strcat(JNIEnv * env, jobject obj, jstring jstr1, jstring jstr2) { char buf[128]; C method name reflects full Java name Interface to the VM const char *str1 = env->getstringutfchars(jstr1, 0); const char *str2 = env->getstringutfchars(jstr2, 0); strcpy(buf, str1); strcat(buf, str2); Parameters from Java are accessed through the env variable } //can use even assembly here env->releasestringutfchars(jstr1, str1); env->releasestringutfchars(jstr2, str2); return env->newstringutf(buf); Data from Java is accessed through env variable No automatic garbage collection, don t forget to deallocate memory

17 Debugging with logs Include the logs header #include <android/log.h> #define APPNAME "HelloJNI" JNIEXPORT jstring JNICALL Java_com_example_hellojni_MainActivity_strcat( JNIEnv * env, jobject obj, jstring jstr1, jstring jstr2) { const char *str = env->getstringutfchars(jstr1, 0); android_log_print(android_log_verbose, APPNAME, "str1=%s", str1); } Set verbosity } Also, add the following line to Android.mk : LOCAL_LDLIBS := -llog

18 Tools Overview NDK ADT CDT Sequoyah DS-5 Native Development Kit Android Development Tools C/C++ Development Tool Eclipse mobile development tool Development suite by arm Cross-compiler for Android Linux Android dev Eclipse plugin C/C++ Eclipse plugin, generic C/C++ compiler, debugger Debugger Debugger

19 Exercises Exercise 1: HelloJNI Objectives: Add missing code Execute the app Inspect logs Download from Exercise 2: Tower of Hanoi Objectives: Add missing code Execute the app See difference in performance between Java and C implementation of Hanoi Tower Algorithm Download from

20 Q&A

Android Hands-On Labs

Android Hands-On Labs Android Hands-On Labs Introduction This document walks you through the 5 Android hands-on labs with i.mx53 Quick Start Board for today s session. The first part regards host preparation, which is not needed

More information

Multithreading and Java Native Interface (JNI)!

Multithreading and Java Native Interface (JNI)! SERE 2013 Secure Android Programming: Best Practices for Data Safety & Reliability Multithreading and Java Native Interface (JNI) Rahul Murmuria, Prof. Angelos Stavrou rmurmuri@gmu.edu, astavrou@gmu.edu

More information

Development Environment Setup

Development Environment Setup Development Environment Setup Mobile Visual Computing Development Environment Setup Copy VCDevEnv to C:\ Install driver for your device C:\VCDevEnv\drivers Run C:\VCDevEnv\startEclipse.bat Check device

More information

Development_Setting. Step I: Create an Android Project

Development_Setting. Step I: Create an Android Project A step-by-step guide to setup developing and debugging environment in Eclipse for a Native Android Application. By Yu Lu (Referenced from two guides by MartinH) Jan, 2012 Development_Setting Step I: Create

More information

Android NDK Native Development Kit

Android NDK Native Development Kit Contents 1. What you can do with NDK 2. When to use native code 3. Stable APIs to use / available libraries 4. Build native applications with NDK 5. NDK contents and structure 6. NDK cross-compiler suite

More information

RTI Connext DDS. Core Libraries Getting Started Guide Addendum for Android Systems Version 5.2.0

RTI Connext DDS. Core Libraries Getting Started Guide Addendum for Android Systems Version 5.2.0 RTI Connext DDS Core Libraries Getting Started Guide Addendum for Android Systems Version 5.2.0 1 2015 Real-Time Innovations, Inc. All rights reserved. Printed in U.S.A. First printing. June 2015. Trademarks

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

Native code in Android Quad Detection

Native code in Android Quad Detection Native code in Android Quad Detection 21 July 2013 This document provides information on how to build and run native (C/C++) code in Android platform using Android NDK and then use its scope to auto capture

More information

Tutorial about how to debug C/C++ code for Android in Eclipse on Windows XP

Tutorial about how to debug C/C++ code for Android in Eclipse on Windows XP Tutorial about how to debug C/C++ code for Android in Eclipse on Windows XP Version 1.0 April 2011 By Tjeerd Schouten Preface This tutorial will guide you through the setup required to be able to debug

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

NDK Integration (JNI)

NDK Integration (JNI) NDK Integration (JNI) Lecture 5 Android Native Development Kit 25 March 2014 NDK NDK Integration (JNI), Lecture 5 1/34 Standard JNI Standard JNI Example Native Method Arguments Mapping of Types Operations

More information

Android Programming and Security

Android Programming and Security Android Programming and Security Dependable and Secure Systems Andrea Saracino andrea.saracino@iet.unipi.it Outlook (1) The Android Open Source Project Philosophy Players Outlook (2) Part I: Android System

More information

Easing embedded Linux software development for SBCs

Easing embedded Linux software development for SBCs Page 1 of 5 Printed from: http://www.embedded-computing.com/departments/eclipse/2006/11/ Easing embedded Linux software development for SBCs By Nathan Gustavson and Eric Rossi Most programmers today leaving

More information

Android. Lecture 1. Learning Android Marko Gargenta. Tuesday, February 26, 13

Android. Lecture 1. Learning Android Marko Gargenta. Tuesday, February 26, 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

Running a Program on an AVD

Running a Program on an AVD Running a Program on an AVD Now that you have a project that builds an application, and an AVD with a system image compatible with the application s build target and API level requirements, you can run

More information

Introduction. Why we use JNI How to use JNI. Embedding C in Java Using Java features from C Embedding the VM

Introduction. Why we use JNI How to use JNI. Embedding C in Java Using Java features from C Embedding the VM Java Native Interface CS587x Lecture Department of Computer Science Iowa State University Introduction What is native method and JNI Why we use JNI How to use JNI Embedding C in Java Using Java features

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

Using The Java Native Interface

Using The Java Native Interface 1, 2 by Christopher Batty, University of Manitoba, Winnipeg, Manitoba, Canada Last revised: October 23, 2003 Overview: In this tutorial we illustrate how the Java Native Interface (JNI) can be used to

More information

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Reminders. Lab opens from today. Many students want to use the extra I/O pins on Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students

More information

An Introduction to Android

An Introduction to Android An Introduction to Android Michalis Katsarakis M.Sc. Student katsarakis@csd.uoc.gr Tutorial: hy439 & hy539 16 October 2012 http://www.csd.uoc.gr/~hy439/ Outline Background What is Android Android as a

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

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

Overview. The Android operating system is like a cake consisting of various layers.

Overview. The Android operating system is like a cake consisting of various layers. The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and

More information

Extending your Qt Android application using JNI

Extending your Qt Android application using JNI Extending your Qt Android alication using JNI Dev Days, 2014 Presented by BogDan Vatra Material based on Qt 5.3, created on November 13, 2014 Extending your alication using JNI Extending your alication

More information

Enhanced Project Management for Embedded C/C++ Programming using Software Components

Enhanced Project Management for Embedded C/C++ Programming using Software Components Enhanced Project Management for Embedded C/C++ Programming using Software Components Evgueni Driouk Principal Software Engineer MCU Development Tools 1 Outline Introduction Challenges of embedded software

More information

Smartphone market share

Smartphone market share Smartphone market share Gartner predicts that Apple s ios will remain the second biggest platform worldwide through 2014 despite its share deceasing slightly after 2011. Android will become the most popular

More information

Android, Bluetooth and MIAC

Android, Bluetooth and MIAC Android, Bluetooth and MIAC by Ben Rowland, June 2012 Abstract Discover how easy it is to use TCP network communications to link together high level systems. This article demonstrates techniques to pass

More information

System Reference 2013

System Reference 2013 System Reference 2013 Content List of graphics...3 List of tables...4 1 Purpose of LynxSight...5 2 Setting up project...6 2.1 Project dependences...6 2.1.1 Operating system...6 2.1.2 Eclipse IDE...6 2.1.3

More information

Jordan Jozwiak November 13, 2011

Jordan Jozwiak November 13, 2011 Jordan Jozwiak November 13, 2011 Agenda Why Android? Application framework Getting started UI and widgets Application distribution External libraries Demo Why Android? Why Android? Open source That means

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

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING NVIDIA DEVELOPER TOOLS BUILD. DEBUG. PROFILE. C/C++ IDE INTEGRATION STANDALONE TOOLS HARDWARE SUPPORT CPU AND GPU DEBUGGING & PROFILING

More information

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9 SECOND EDITION Programming Android kjj *J} Zigurd Mednieks, Laird Dornin, G. Blake Meike, and Masumi Nakamura O'REILLY Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Preface xiii Parti.

More information

Android Architecture. Alexandra Harrison & Jake Saxton

Android Architecture. Alexandra Harrison & Jake Saxton Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003

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

Overview of CS 282 & Android

Overview of CS 282 & Android Overview of CS 282 & Android Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282

More information

Java Native Interface

Java Native Interface Java Native Interface Application Notes Da Ke 4/5/2009 ECE 480 Spring 2009, Design Team 3 Department of Electrical and Computer Engineering Michigan State University Abstract Java is one of most widely

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

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет Технологии Java Android: Введение Санкт-Петербургский Государственный Политехнический Университет Кузнецов Андрей Николаевич 1 2 Архитектура ОС Android See http://www.android-app-market.com/android-architecture.html

More information

Research and Design of Universal and Open Software Development Platform for Digital Home

Research and Design of Universal and Open Software Development Platform for Digital Home Research and Design of Universal and Open Software Development Platform for Digital Home CaiFeng Cao School of Computer Wuyi University, Jiangmen 529020, China cfcao@126.com Abstract. With the development

More information

Extending Android's Platform Toolsuite

Extending Android's Platform Toolsuite Extending Android's Platform Toolsuite Embedded Linux Conference Europe 2015 Karim Yaghmour @karimyaghmour / +karimyaghmour karim.yaghmour@opersys.com These slides are made available to you under a Creative

More information

Fahim Uddin http://fahim.cooperativecorner.com email@fahim.cooperativecorner.com. 1. Java SDK

Fahim Uddin http://fahim.cooperativecorner.com email@fahim.cooperativecorner.com. 1. Java SDK PREPARING YOUR MACHINES WITH NECESSARY TOOLS FOR ANDROID DEVELOPMENT SEPTEMBER, 2012 Fahim Uddin http://fahim.cooperativecorner.com email@fahim.cooperativecorner.com Android SDK makes use of the Java SE

More information

341 - Bioinformatics Android Coursework

341 - Bioinformatics Android Coursework 341 - Bioinformatics Android Coursework 1 Important This coursework must be submitted electronically via CATE. This coursework is intended for groups of 4. Each group must contain at least one Computing

More information

Java and Real Time Storage Applications

Java and Real Time Storage Applications Java and Real Time Storage Applications Gary Mueller Janet Borzuchowski 1 Flavors of Java for Embedded Systems Software Java Virtual Machine(JVM) Compiled Java Hardware Java Virtual Machine Java Virtual

More information

Android Malware for Pen-testing. IOAsis San Fransicso 2014

Android Malware for Pen-testing. IOAsis San Fransicso 2014 Android Malware for Pen-testing IOAsis San Fransicso 2014 Dr. Who? Robert Erbes Senior Security Consultant (not a doctor) Target Audience The Malicious Defender i.e., Someone who believes that the best

More information

Numerical Algorithms Group

Numerical Algorithms Group Title: Summary: Calling C Library Routines from Java Using the Java Native Interface This paper presents a technique for calling C library routines directly from Java, saving you the trouble of rewriting

More information

Android Development Tools for Eclipse

Android Development Tools for Eclipse Android Development Tools for Eclipse Sanjay Shah Khirulnizam Abd Rahman Chapter No. 1 "Installing Eclipse, ADT, and SDK" In this package, you will find: A Biography of the author of the book A preview

More information

An Introduction to Android. Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn

An Introduction to Android. Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn An Introduction to Android Huang Xuguang Database Lab. Inha University 2009.11.2 Email: xuguanghuang@yahoo.cn Outline Background What is Android? Development for Android Background Internet users and Mobile

More information

WIND RIVER DIAB COMPILER

WIND RIVER DIAB COMPILER AN INTEL COMPANY WIND RIVER DIAB COMPILER Boost application performance, reduce memory footprint, and produce high-quality, standards-compliant object code for embedded systems with Wind River Diab Compiler.

More information

Embedded Software Development

Embedded Software Development Linköpings Tekniska Högskola Institutionen för Datavetanskap (IDA), Software and Systems (SaS) TDDI11, Embedded Software 2010-04-22 Embedded Software Development Host and Target Machine Typical embedded

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

RVDS 3.x with Eclipse IDE

RVDS 3.x with Eclipse IDE RVDS 3.x with Eclipse IDE Title Keywords Abstract Integrated Development Environment Eclipse and RVDS Eclipse, RVDS This is a guide for setting up RVDS development environment on the basis of Eclipse IDE.

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

BLUETOOTH BASED HOME AUTOMATION USING ARDUINO ARDUINO

BLUETOOTH BASED HOME AUTOMATION USING ARDUINO ARDUINO BLUETOOTH BASED HOME AUTOMATION USING ARDUINO ARDUINO 12.05.2016 Overview Introduction Block Diagram Hardware Requirements Software used Advantages Disadvantages References Introduction To develop a Bluetooth

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

Programming the Android Platform. Logistics

Programming the Android Platform. Logistics Programming the Android Platform CMSC498G Logistics Professor Adam Porter 4125 AVW aporter@cs.umd.edu Course meets W 3:00 3:50 in CSI 3118 1 Goals Learn more about Mobile devices Mobile device programming

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

A Study on Android development kits and the Phone Gap Framework

A Study on Android development kits and the Phone Gap Framework International Journal of Engineering Research and Development e-issn: 2278-067X, p-issn: 2278-800X, www.ijerd.com Volume 10, Issue 3 (March 2014), PP.18-22 A Study on Android development kits and the Phone

More information

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development Introduction to -based solution for embedded software development Section 1 Eddy Real-Time, Lemonix Section 2 Eddy Integrated Development Environment, LemonIDE Section 3 Eddy Utility Programs Eddy Integrated

More information

Qualcomm IR-I 2 C Bridge Demo

Qualcomm IR-I 2 C Bridge Demo User s Guide June 2012 UG63_01.0 Qualcomm IR-I2C Bridge Demo Demo Setup The Qualcomm IR-I2C Bridge Demo setup consists of the ice-dragon Board which includes an IR-Receiver interfaced with an ice40 mobilefpga.

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 DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA

ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA ANDROID DEVELOPER TOOLS TRAINING GTC 2014 Sébastien Dominé, NVIDIA AGENDA NVIDIA Developer Tools Introduction Multi-core CPU tools Graphics Developer Tools Compute Developer Tools NVIDIA Developer Tools

More information

Introduction to Android

Introduction to Android Introduction to Android 26 October 2015 Lecture 1 26 October 2015 SE 435: Development in the Android Environment 1 Topics for Today What is Android? Terminology and Technical Terms Ownership, Distribution,

More information

Introduction to Android

Introduction to Android Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application

More information

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

The Eclipse Classic version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended. Installing the SDK This page describes how to install the Android SDK and set up your development environment for the first time. If you encounter any problems during installation, see the Troubleshooting

More information

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,

More information

Alcatel-Lucent IMS Application Server

Alcatel-Lucent IMS Application Server September Alain Grignac, Gérard Tixier Application BD/ CTO Office History 1999/2000/2001 Java middleware initiated as basis for a high-performances WAP Gateway. First commercial deployments 2002/2003/2004

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015 Development With ARM DS-5 Mervyn Liu FAE Aug. 2015 1 Support for all Stages of Product Development Single IDE, compiler, debug, trace and performance analysis for all stages in the product development

More information

Monitoring, Tracing, Debugging (Under Construction)

Monitoring, Tracing, Debugging (Under Construction) Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.

More information

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar Building graphic-rich and better performing native applications Pro Android C++ with the NDK Onur Cinar For your convenience Apress has placed some of the front matter material after the index. Please

More information

Android: How To. Thanks. Aman Nijhawan

Android: How To. Thanks. Aman Nijhawan Android: How To. This is just a collection of useful information and tricks that I used during the time I was developing on the android ADP1. In some cases the information might be a little old and new

More information

With a single download, the ADT Bundle includes everything you need to begin developing apps:

With a single download, the ADT Bundle includes everything you need to begin developing apps: Get the Android SDK The Android SDK provides you the API libraries and developer tools necessary to build, test, and debug apps for Android. The ADT bundle includes the essential Android SDK components

More information

CS 294-73 Software Engineering for Scientific Computing. http://www.cs.berkeley.edu/~colella/cs294. Lecture 25:Mixed Language Programming.

CS 294-73 Software Engineering for Scientific Computing. http://www.cs.berkeley.edu/~colella/cs294. Lecture 25:Mixed Language Programming. CS 294-73 Software Engineering for Scientific Computing http://www.cs.berkeley.edu/~colella/cs294 Lecture 25:Mixed Language Programming. Different languages Technical, historical, cultural differences

More information

Get started fast with Android

Get started fast with Android 1 Murach_Android_Programming_Sample_Chapter_1.docx10/31/2013 9:42:00 AM Section 1 Get started fast with Android This section gets you started fast with Android programming. Chapter 1 introduces you to

More information

Android Anatomy and Physiology

Android Anatomy and Physiology Android Anatomy and Physiology Agenda Android Anatomy Linux Kernel Native Libraries Android Runtime Layer Interaction Application Framework Android Physiology Start-up Walkthrough Android Anatomy Applications

More information

AllJoyn Android Environment Setup Guide

AllJoyn Android Environment Setup Guide 80-BA001-2 Rev. A June 21, 2011 Submit technical questions at: http:///forums The information contained in this document is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License;

More information

An Android based Quantum GIS prototype. Ramon Carrillo, Daniel Ochoa dochoa@espol.edu.ec

An Android based Quantum GIS prototype. Ramon Carrillo, Daniel Ochoa dochoa@espol.edu.ec An Android based Quantum GIS prototype Ramon Carrillo, Daniel Ochoa dochoa@espol.edu.ec Summary Background Past works Quantum GIS Mobile Quantum GIS Results Future works Background Robotic and computer

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

Board also Supports MicroBridge

Board also Supports MicroBridge This product is ATmega2560 based Freeduino-Mega with USB Host Interface to Communicate with Android Powered Devices* like Android Phone or Tab using Android Open Accessory API and Development Kit (ADK)

More information

All Your Code Belongs To Us Dismantling Android Secrets With CodeInspect. Steven Arzt. 04.10.2015 Secure Software Engineering Group Steven Arzt 1

All Your Code Belongs To Us Dismantling Android Secrets With CodeInspect. Steven Arzt. 04.10.2015 Secure Software Engineering Group Steven Arzt 1 All Your Code Belongs To Us Dismantling Android Secrets With CodeInspect Steven Arzt 04.10.2015 Secure Software Engineering Group Steven Arzt 1 04.10.2015 Secure Software Engineering Group Steven Arzt

More information

STLinux Software development environment

STLinux Software development environment STLinux Software development environment Development environment The STLinux Development Environment is a comprehensive set of tools and packages for developing Linux-based applications on ST s consumer

More information

imaginea white paper

imaginea white paper white paper Building Mobile Android Applications Even though Android was created for handsets, there is a great opportunity for developing other innovative devices on the Android platform with significant

More information

Module Title: Software Development A: Mobile Application Development

Module Title: Software Development A: Mobile Application Development Module Title: Software Development A: Mobile Application Development Module Code: SDA SDA prerequisites: CT1, HS1, MS001, CA Award of BSc. In Information Technology The Bachelor of Science in Information

More information

Advance Android Application Development (8W-A3D)

Advance Android Application Development (8W-A3D) Apps to be Developed/Build: Advance Android Application Development (8W-A3D) Basic Calculator App Multi-page Login App Custom Drop-down Menu Search App (in App Search) Employee Database App Audio Player

More information

Android Development: Part One

Android Development: Part One Android Development: Part One This workshop will introduce you to the nature of the Android development platform. We begin with an overview of the platform s development history and some discussion of

More information

VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook

VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook VM Application Debugging via JTAG: Android TRACE32 JTAG Debug Bridge ADB Architecture Stop-Mode implications for ADB JTAG Transport Outlook TRACE32 JTAG Debug Bridge Hagen Patzke 2011-06-16 www.lauterbach.com

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development Android Development Lecture AD 0 Android SDK & Development Environment 2013/2014 Parma Università degli Studi di Parma Lecture Summary Android Module Overview The Android Platform Android Environment Setup

More information

SIM900 Eclipse environment install Application Note_V1.00

SIM900 Eclipse environment install Application Note_V1.00 SIM900 Eclipse environment install Application Note_V1.00 Document Title: Note Version: V1.00 Date: 2011-01-11 Status: Document Control ID: Edit SIM900_Eclipse_environment_install_Application_Note _V1.01

More information

Hands- On Training for Android and ios Software Developers

Hands- On Training for Android and ios Software Developers Hands- On Training for Android and ios Software Developers Hands- On Training Conquers the Learning Curve Your mobile development projects are important. We give you the knowledge and skills to get started

More information

ITG Software Engineering

ITG Software Engineering Basic Android Development Course ID: Page 1 Last Updated 12/15/2014 Basic Android Development ITG Software Engineering Course Overview: This 5 day course gives students the fundamental basics of Android

More information

Android Architecture For Beginners

Android Architecture For Beginners Leon Romanovsky leon@leon.nu www.leon.nu April 22, 2013 Introduction Linux-based operating system with market share - 69.70% in smartphones, 42% in tablets, available on smart TVs and mini PC. History

More information

Introduction to Android

Introduction to Android Introduction to Android Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering October 19, 2015 Outline 1 What is Android? 2 Development on Android 3 Applications:

More information

Technical Note. TN_134 FTDI Android D2XX Driver

Technical Note. TN_134 FTDI Android D2XX Driver Future Technology Devices International Ltd. Technical Note Document Reference No.: FT_000522 Version 1.1 Issue Date: 2012-08-16 This document describes the installation and use of the FTDI D2XX driver

More information

GStreamer on Android

GStreamer on Android GStreamer on Android Who are we? A short Introduction to GStreamer Just a short overview for those who don't know it yet Pipeline based multimedia framework Cross platform, open source Bindings for many

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 - Exam Sample

Android Application Development - Exam Sample Android Application Development - Exam Sample 1 Which of these is not recommended in the Android Developer's Guide as a method of creating an individual View? a Create by extending the android.view.view

More information

Contents at a Glance

Contents at a Glance For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance Contents... v About

More information

060010702 Mobile Application Development 2014

060010702 Mobile Application Development 2014 Que 1: Short question answer. Unit 1: Introduction to Android and Development tools 1. What kind of tool is used to simulate Android application? 2. Can we use C++ language for Android application development?

More information

RoverPal - A Mobile Payment Application

RoverPal - A Mobile Payment Application White Paper RoverPal - A Mobile Payment Application Introduction Online shopping has been a favorable experience with most of us. Still, we come across instances where we are out on shopping and we run

More information