ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Size: px
Start display at page:

Download "ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi"

Transcription

1 ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi

2 Web resources (android) Code ment_essentials Book and articles id.pdf Blog of developers

3 Smartphone hw architecture A system-on-chip architecture with three primary components: An application processor executing the end-user s application software with assistance from a middleware and operating system (i.e., Android, IOs) A modem or baseband processor with its own operating system components responding to the baseband radio activities A number of peripheral devices for interacting with the end-user

4 Smartphone hw architecture source:

5 Role of application processor Application processor executes the user applications and the related OS services. Applications include audio/video codec and players, games, image processing, speech processing, internet browsing, text editing, etc. Application processor takes help from graphics accelerators as and when needed Most handheld applications are graphics-intensive Smartphones come with reasonably large amount of storage in the form of volatile SDRAM (1-2 GB) as well as non-volatile compact storage (10+ GB)

6 Role of modem processor Reception: The receiver hardware (part of the modem) senses incoming signals and generates interrupts for the radio interface logic of the operating system The radio interface and the operating system software run on a baseband or modem processor Once the reception begins (after a physical layer handshake), the incoming audio, video, and other data are processed by the modem processor The radio OS components talk to the peripheral device drivers to present the incoming data to the user through appropriate devices (display, speaker, etc.)

7 Role of modem processor Transmission: The data to be transmitted are collected by the radio OS components from memory regions populated by the device drivers. For example, audio data captured by the microphone driver or an image or a video captured by the camera or a position information captured by the GPS device A transmission is initiated by the radio interface logic through the modem transmitter hardware The subscriber identification module (SIM) plays an important role in reception and transmission For example it sends the user s authentication key

8 Specific hardware issue Overall, mobile device s hw architecture is similar to desktop one, with some specific difference. In particular System on Chip (SoC) All the hw components are integrated (GPU,Wi-fi,etc) Multicore with cores that can run at different speed, cores activated on demand Rich set of sensors Implemented as IC Mainly RISC architecture (ARM is predominant) One instruction at each clock cycle

9 Example of CPU Qualcom Snapdragon + GPU (Adreno) Different families with different cores (2,4) Nvidia 4i,K1 Intel First 64 bits CPU Mediatek 8 cores Samsung HiSilicon P8

10 HW: Sensors Most devices have built-in sensors that measure motion, orientation, and various environmental conditions. The Android platform supports three broad categories of sensors: Motion sensors. These sensors measure acceleration forces and rotational forces along three axes. This category includes accelerometers, gravity sensors, gyroscopes, and rotational vector sensors. Environmental sensors. These sensors measure various environmental parameters, such as ambient air temperature and pressure, illumination, and humidity. This category includes barometers, photometers, and thermometers. Position sensors. These sensors measure the physical position of a device. This category includes orientation sensors and magnetometers.

11 GPS Based on triangolaritazion 24+3 satellites Circular orbits on 6 circular planes at about 20 Km from the ground The receiver computes the distance from the satellites using synchronized clocks Computing the distance requires to know the delay (about 0,007 s) and start time of the received signal Satellite clocks are atomic clocks, while gps receiver clocks are not, but their values are adjusted when the intersection of the spheres is not unique

12 HW location Other location providers are based on cell-id and wi-fi Android uses these methods together (GPS, cell tower, Wi-Fi) to get an idea of where the device is, and make that available to apps via a "Location Services" API.

13 Communications LTE 4G Up to 326,4 Mbit/s dowload Up to 86,4 Mbit/s upload Wi-fi (with an Access Point) a (54 mbps),802.b (11), g (54),802.11n (300) Wi-fi Direct (p2p) Same standard as wi-fi Bluetooth Latest version 4.1(24Mbps) Make device discoverable...search for the device...enter passcode Set-up times about 6 s IEEE NFC

14 Communication: NFC Active device (reader): generate a magnetic field The reader emits a small electric current which creates a magnetic field that in turn bridges the physical space between the devices. Passive device: react to the field emitting data Like RFID NFC works in the 13.56MHz radiofrequency spectrum using less than 15mA of power to communicate data over distances that are usually far less than 10 cm. Tags typically store between 96 and 512 bytes of data and transfer data using at speeds of 106Kb/s, 212Kb/s or 424Kb/s

15 Communication: NFC NFC Card emulation mode: enables NFC-enabled devices such as smartphones to act like smart cards, allowing users to perform transactions such as payment or ticketing. NFC Reader/writer mode: enables NFC-enabled devices to read information stored on inexpensive NFC tags embedded in labels or smart posters. A tag contains a small amount of non-volatile memory (store text, web address, , vcard, Trigger, e..g. turn on wifi and lunch this app) NFC peer-to-peer mode: enables two NFC-enabled devices to communicate with each other to exchange information in an ad hoc fashion. Applications may use higher-layer, e.g., SSL to establish a secure channel For android see:

16 Typical usage contactless payments, marketing and advertising, security and access control, product identification, location identification, mobile phone task launcher apps.

17 Touch screen technologies Resistive touch screen Capacitive touch screen ( used in modern smartphones) Single touch / multi-touch (pointers)

18 Touch screen: gesture

19 Some fact about Android Android, Inc. was founded in Palo Alto, California in October 2003 In July 2005, Google acquired Android Inc. At Google, the team led by Andy Rubin developed a mobile device platform powered by the Linux kernel Android is built on top of more than 100 open projects, including Linux kernel To increase security, each application runs with a distinct system identity (Linux UID and GID) Application are isolated from each other Use a quite efficient IPC mechanism To facilitate resource access from isolated application, android exploit a permission-based security mechanism Each application needs permissions to access system resources Permissions are granted at application installation time There are 130 resources (android 4.2)

20 Global market Source: global-market-share-january-2015-increase-android/

21 Android versioning See also:

22 Android screen sizes

23 Some android feature As new features were added (e.g., toolbar, actionbar, fragments, ) support libraries were developed, so that such features were also available to older versions Android API are very dynamic, so it can happen that some method or widget are deprecated (always take a look at the official documentation) Support of multiple languages For example: Symbolic name given to a string in the code Different values according to the nationality of the smartphone

24 Android architecture

25 Android architecture (kernel) The kernel provides preemptive multitasking,low level core system services, like Hardware Abstraction Hardware Drivers Security Settings Support for Shared Libraries Network Stack

26 Android architecture (kernel) Android-specific components Binder IPC Android shared memory Power management Alarm driver Kernel debugger & Logger

27 Android architecture, interacting with OS The ADB tool (see SDK) allows to interact with the linux OS via a shell USB driver ADB Client ADB Server Developer option s debug USB enabled RSA key sent to the device must be acknowledged

28 Some example (see file systems) C:\Users\roberto\android-sdks\platform-tools>adb shell $ df df Filesystem Size Used Free Blksize /dev M K M 4096 /sys/fs/cgroup M 12.00K M 4096 /mnt/asec M 0.00K M 4096 /mnt/obb M 0.00K M 4096 /system 1.44G 1.34G M 4096 /data 1.50G M M 4096 /persist 31.46M 4.02M 27.43M 4096 /cache M 4.04M M 4096 /persist-lg 7.83M 4.14M 3.70M 4096 /mpt 31.46M 11.95M 19.51M 4096 /sns 7.83M 4.02M 3.82M 4096 /firmware 63.95M 33.22M 30.73M /cust 49.18M 5.84M 43.33M 4096 /mnt/shell/emulated 1.50G M M 4096

29 Example adb pull <f1><f2> adb push <f2><f1> adb backup adb restore <file> see adb help for more explanation

30 Some example (processes) $ ps more ps more USER PID PPID VSIZE RSS WCHAN PC NAME root ffffffff S /init root ffffffff S kthreadd root ffffffff S ksoftirqd/0 root ffffffff D kworker/u:0 root ffffffff D kworker/u:0h root ffffffff S migration/0 root ffffffff S khelper root ffffffff S netns root ffffffff S modem_notifier root ffffffff S smd_channel_clo root ffffffff S smsm_cb_wq root ffffffff S kworker/u:1 root ffffffff S rpm-smd root ffffffff S kworker/u:1h root ffffffff S mpm root ffffffff S irq/47-cpr root ffffffff S sync_supers root ffffffff S bdi-default root ffffffff S kblockd root ffffffff S system root ffffffff S irq/282-msm_iom root ffffffff S irq/282-msm_iom

31 Quick guide to adb -mobile-12456

32 Native SW libraries (C/C++) Surface Manager: Rendering of Views 2D graphics Media Framework: Manage different codec, e.g. mp3,h.264,mpeg4,etc. Rendering of Font types In process DB Open GL ES 2D and 3D graphics For Embedded systems Web engine (Bionic)C standard library Wrapped as Java libraries

33 Java Network Interface (JNI) Native libraries can be called from java code Java libraries wraps native code Developers can write native code (NDK) Critical portion of the application (assembly) Legacy software

34 JNI

35 Android architecture: Dalvik VM Designed for: Slow CPU Little RAM 64Mb total, ~10Mb available at runtime No swap space Limited battery life Use registers not stack (like the JVM does) Act as a sandbox: each application runs inside a DVM Just In Time compilation Translate bytecode to native code just before its execution.dex format has footprint 50% smaller Replaced in Android 5.0 with Android Run Time (ART) See:

36 Core libraries Core Java classes android.* java.*, javax.* junit.* org.apache.*, org.json.*, org.xml.* Doesn t include all standard Java SDK classes developer.android.com/reference/packages.html

37 Core libraries (some) android.app Provides access to the application model used by of all Android applications. android.content Contains classes for accessing and publishing data on the device (content sharing, Intent) Access to the package manager and resource manager. android.database Used to access data published by content providers and includes SQLite database management classes. android.graphics A low-level 2D graphics drawing API including colors, points, filters, rectangles and canvases. android.hardware Presents an API providing access to hardware such as the accelerometer and light sensor. android.opengl A Java interface to the OpenGL ES 3D graphics rendering API. android.os Provides basic operating system services, message passing, and inter-process communication on the device. android.media Provides classes to enable playback of audio and video. android.net A set of APIs providing access to the network stack. Includes android.net.wifi, which provides access to the device s wireless stack. android.provider A set of convenience classes that provide access to standard Android content provider databases such as those maintained by the calendar and contact applications. android.text Used to render and manipulate text on a device display. android.util A set of utility classes for performing tasks such as string and number conversion, XML handling and date and time manipulation. android.view The fundamental building blocks of application user interfaces. android.widget - A rich collection of pre-built user interface components such as buttons, labels, list views, layout managers, radio buttons etc. android.webkit A set of classes intended to allow web-browsing capabilities to be built into applications. See:

38 Android architecture: application framework Application framework: Set of services in the form of managers.

39 Android frameworks (not complete list) Activity Manager Controls all aspects of the application lifecycle and activity stack. Content Providers Allows applications to publish and share data with other applications. Resource Manager Provides access to non-code embedded resources such as strings, color settings and user interface layouts. Notifications Manager Allows applications to display alerts and notifications to the user. View System An extensible set of views used to create application user interfaces. Package Manager The system by which applications are able to find out information about other applications currently installed on the device. Telephony Manager Provides information to the application about the telephony services available on the device such as status and subscriber information. Location Manager Provides access to the location services allowing an application to receive updates about location changes.

40 Android architecture: app layer Application layer

41 Google play services

42 Layers.

43 Processes All of the default system functions of Android are provided as the server process type

44 Binder

45 System Services The System Services is a set of about services that provide the user applications with the information and capabilities necessary to work. All these services relay on the Binder framework to communicate and collaborate with each other. Also, applications can instantiate these services through Binder. Most are written in Java except for a couple of them, which are written in C/C++.

46 Booting sequence see:

47 How to program a mobile device Android applications are typically written in Java, using Eclipse or Android Studio (official IDE) Native Language in C/C++ Libraries for critical hw components Functions can be called from java Native application in C# Xamarin (commercial platform) Portability among OS JavaScript (running inside webkit engine) JS functions can call Android methods PhoneGap, Apache Cordova Set of js libraries, improves portability among OS Web applications jquery mobile

48 Interaction with cloud Mobile apps can interact with cloud to store data (photo, contacts, etc), and synchronize different devices Can call web-api to enrich the functionality of the application For example exploit open data

49 Security Security goals Protect sensible data of users, like contact and Protect system resources Protect an application from other applications Security mechanisms Native mechanisms, at kernel level Sandboxing, each application runs inside a sandbox Limited access to system resources. Resources restricted via permissions Secure IPC Application signature via a certificate Application-defined and user-granted permissions

50 Sandbox and permission Sandbox: Linux UID=1234 Application: UID 1234 DVM <uses-permission>. Resources android.permission.camera camera

51 Sandbox and permission Sandbox provides access to a limited number of system resources The access to a resosource is restricted using a permission User should declare the use of the permission in the manifest file and grant (all) permissions at installation time Sandboxing prevents one app from being able to read data or modify the code of other apps installed on the system. This feature helps to contain malware and other security threats, so that even if a vulnerable app is cracked via an exploit (or a malicious app manages to get itself installed on a device), it can't be used to gain further access to other software or data stored on the device.

52 Sandbox and permission Different applications can run in the same process. For this approach, one first must sign those applications using the same private key and then must assign to them the same Linux user ID using the manifest file, by defining the manifest attribute android:shareduserid with the same value/name.

53 Sandobox and permission Sandbox: Linux UID=1234 Application: UID 1234 Application: UID 1234 DVM DVM Resource camera

54 Defining a permission

55 Characteristics of android applications User interaction touch screen based UI interface Variable screen size From low, medium, high (smart TV) Resource usage is an issue but.. Sensors Position, orientation, magnetic field, light sensor,.. Portable Context-awareness based applications (what s around me, where are my friends, )

56 Bird s eye view to application architecture User Interface Activity Fragment UI runs in a thread Main thread it should respond fast responsiveness Computation Service Broadcast receiver Separate thread Need mechanism to interact with UI Implements the business logic Data Preference File SQLite Network Content provider Many ways to store data

57 What an application is composed of?

58 What an application is composed of? Software components Activity Fragment Service Broadcast receiver Content provider Intent Resources Pictures, video, audio file, etc. Accessed via an ID Accessed via a manager.

59 Android applications Every application runs in its own linux process (receivers its own User ID) A process is created when a component of the application needs to be run An unusual feature of Android is that an application process s lifetime is not directly controlled by the application (more on this soon) For example, if the application is temporary not visible the system may decide to kill the process

60 Questions?

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct

More information

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi ANDROID PROGRAMMING - INTRODUCTION Roberto Beraldi Introduction Android is built on top of more than 100 open projects, including linux kernel To increase security, each application runs with a distinct

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

ANDROID OPERATING SYSTEM

ANDROID OPERATING SYSTEM ANDROID OPERATING SYSTEM Himanshi Grover,Devesh Agrawal IT Department, Dronacharya College Of Engg Gurgaon,Haryana,India Abstract - Android has become need rather than luxury these days. The computing

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

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

Mobile Phones Operating Systems

Mobile Phones Operating Systems Mobile Phones Operating Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-05-28 José Costa (DEI/IST) Mobile Phones Operating

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

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

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

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android e t International Journal on Emerging Technologies (Special Issue on NCRIET-2015) 6(2): 197-202(2015) ISSN No. (Print) : 0975-8364 ISSN No. (Online) : 2249-3255 Friendly ARM MINI2440 & Dalvik Virtual Machine

More information

Analysis of advanced issues in mobile security in android operating system

Analysis of advanced issues in mobile security in android operating system Available online atwww.scholarsresearchlibrary.com Archives of Applied Science Research, 2015, 7 (2):34-38 (http://scholarsresearchlibrary.com/archive.html) ISSN 0975-508X CODEN (USA) AASRC9 Analysis of

More information

Praktikum Entwicklung Mediensysteme (für Master)

Praktikum Entwicklung Mediensysteme (für Master) Praktikum Entwicklung Mediensysteme (für Master) An Introduction to Android An Introduction to Android What is Android? Installation Getting Started Anatomy of an Android Application Life Cycle of an 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 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

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

A Short Introduction to Android

A Short Introduction to Android A Short Introduction to Android Notes taken from Google s Android SDK and Google s Android Application Fundamentals 1 Plan For Today Lecture on Core Android Three U-Tube Videos: - Architecture Overview

More information

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY Suhas Holla #1, Mahima M Katti #2 # Department of Information Science & Engg, R V College of Engineering Bangalore, India Abstract In the advancing

More information

Mobile Operating Systems Lesson 05 Windows CE Part 1

Mobile Operating Systems Lesson 05 Windows CE Part 1 Mobile Operating Systems Lesson 05 Windows CE Part 1 Oxford University Press 2007. All rights reserved. 1 Windows CE A 32 bit OS from Microsoft Customized for each specific hardware and processor in order

More information

The Android Platform

The Android Platform The Android Platform F. Mallet Frederic.Mallet@unice.fr Université Nice Sophia Antipolis A software stack for mobile devices The Android Platform OS kernel, system libraries, application frameworks & key

More information

Mobile Operating Systems. Week I

Mobile Operating Systems. Week I Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone

More information

Android 5.0: Lollipop OS

Android 5.0: Lollipop OS IJISET - International Journal of Innovative Science, Engineering & Technology, Vol. 2 Issue 6, June 2015. www.ijiset.com Android 5.0: Lollipop OS ISSN 2348 7968 Meenakshi M.Tech Student, Department of

More information

Expert Android Apps Development

Expert Android Apps Development Course Contents: 1. 2D Animations Frame-by-Frame Animation o Planning for Frame-by-Frame Animation o Creating the Activity o Adding Animation to the Activity Layout Animation o Basic Tweening Animation

More information

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,

More information

Android Operating System:

Android Operating System: Android Operating System: An in depth introduction CS423 Project Mohammad Alian, Shuomeng Guang, Bo Teng Outline 1. What is Android 2. History 3. Android architecture 4. Android vs Linux 5. Process Management

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

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

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

ANDROID INTRODUCTION TO ANDROID

ANDROID INTRODUCTION TO ANDROID ANDROID JAVA FUNDAMENTALS FOR ANDROID Introduction History Java Virtual Machine(JVM) JDK(Java Development Kit) JRE(Java Runtime Environment) Classes & Packages Java Basics Data Types Variables, Keywords,

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

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications Mobile Devices - An Introduction to the Android Operating Environment Design, Architecture, and Performance Implications Dominique A. Heger DHTechnologies (DHT) dheger@dhtusa.com 1.0 Introduction With

More information

Workshop on Android and Applications Development

Workshop on Android and Applications Development Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,

More information

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To

Developer's Cookbook. Building Applications with. The Android. the Android SDK. A Addison-Wesley. James Steele Nelson To The Android Developer's Cookbook Building Applications with the Android SDK James Steele Nelson To A Addison-Wesley Upper Saddle River, NJ Boston «Indianapolis San Francisco New York Toronto Montreal London

More information

Praktikum Entwicklung von Mediensystemen (Android)

Praktikum Entwicklung von Mediensystemen (Android) Praktikum Entwicklung von Mediensystemen (Android) Wintersemester 2014/15 Daniel Buschek, Dr. Alexander De Luca, Raphael Kösters Today Organization Android 101 Hands-On Assignment 01 October 9, 2014 PEM

More information

Introduction to Android. Sean Sullivan October 27, 2008

Introduction to Android. Sean Sullivan October 27, 2008 Introduction to Android Sean Sullivan October 27, 2008 What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key applications source: Google

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

How To Develop Android On Your Computer Or Tablet Or Phone

How To Develop Android On Your Computer Or Tablet Or Phone 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

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

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications

Mobile Devices - An Introduction to the Android Operating Environment. Design, Architecture, and Performance Implications Mobile Devices - An Introduction to the Android Operating Environment - Design, Architecture, and Performance Implications 1.0 Introduction With the worldwide proliferation of mobile devices, reliability,

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

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

ANDROID. Programming basics

ANDROID. Programming basics ANDROID Programming basics Overview Mobile Hardware History Android evolution Android smartphone overview Hardware components at high level Operative system Android App development Why Android Apps? History

More information

Android Operating System

Android Operating System Prajakta S.Adsule Student-M.B.A.[I.T.] BharatiVidyapeeth Deemed University,Pune(india) praju_hiramani@yahoo.co.in Mob. No. 9850685985 Android Operating System Abstract- Android operating system is one

More information

Creating and Using Databases for Android Applications

Creating and Using Databases for Android Applications Creating and Using Databases for Android Applications Sunguk Lee * 1 Research Institute of Industrial Science and Technology Pohang, Korea sunguk@rist.re.kr *Correspondent Author: Sunguk Lee* (sunguk@rist.re.kr)

More information

Android on i.mx Applications Processors

Android on i.mx Applications Processors July 2009 Android on i.mx Applications Processors Sridharan Subramanian Senior Product Manager Software and Platforms Abstract Android is a software platform and operating system for mobile devices, based

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

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Our program is a practical knowledge oriented program aimed at making innovative and attractive applications for mobile

More information

Android Virtualization from Sierraware. Simply Secure

Android Virtualization from Sierraware. Simply Secure Android Virtualization from Sierraware Simply Secure Integration Challenges DRM Mandates TrustZone TEE Hypervisor provides the flexibility and security needed for BYOD Power management, responsibility

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

Mobile Application Development Android

Mobile Application Development Android Mobile Application Development Android MTAT.03.262 Satish Srirama satish.srirama@ut.ee Goal Give you an idea of how to start developing Android applications Introduce major Android application concepts

More information

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University

Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University Introduction to Android: Hello, Android! 26 Mar 2010 CMPT166 Dr. Sean Ho Trinity Western University Android OS Open-source mobile OS (mostly Apache licence) Developed by Google + Open Handset Alliance

More information

Android (Basic + Advance) Application Development

Android (Basic + Advance) Application Development Android (Basic + Advance) Application Development You will learn how to create custom widgets, create animations, work with camera, use sensors, create and use advanced content providers and much more.

More information

Issues in Android on Mobile Platform and Their Resolution

Issues in Android on Mobile Platform and Their Resolution Issues in Android on Mobile Platform and Their Resolution 1 Monika A. Ganpate, 2 Dipika R. Shinde 1, 2 Institute of Management and Computer Studies, Thane (West), India, University of Mumbai, India Abstract:

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

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

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

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup Emmanuel Agu What is Android? Android is world s leading mobile operating system Google: Owns Android, maintains it, extends

More information

Here to take you beyond Mobile Application development using Android Course details

Here to take you beyond Mobile Application development using Android Course details Here to take you beyond Mobile Application development using Android Course details Mobile Application Development using Android Objectives: To get you started with writing mobile application using Android

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

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

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER WEB, HYBRID, NATIVE EXPLAINED June 2013 CRAIG ISAKSON MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER 701.235.5525 888.sundog fax: 701.235.8941 2000 44th St. S Floor 6 Fargo, ND 58103 www.sundoginteractive.com

More information

Application of Android OS as Real-time Control Platform**

Application of Android OS as Real-time Control Platform** AUTOMATYKA/ AUTOMATICS 2013 Vol. 17 No. 2 http://dx.doi.org/10.7494/automat.2013.17.2.197 Krzysztof Ko³ek* Application of Android OS as Real-time Control Platform** 1. Introduction An android operating

More information

Hacking your Droid ADITYA GUPTA

Hacking your Droid ADITYA GUPTA Hacking your Droid ADITYA GUPTA adityagupta1991 [at] gmail [dot] com facebook[dot]com/aditya1391 Twitter : @adi1391 INTRODUCTION After the recent developments in the smart phones, they are no longer used

More information

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert

Fachbereich Informatik und Elektrotechnik SunSPOT. Ubiquitous Computing. Ubiquitous Computing, Helmut Dispert Ubiquitous Computing Ubiquitous Computing The Sensor Network System Sun SPOT: The Sun Small Programmable Object Technology Technology-Based Wireless Sensor Networks a Java Platform for Developing Applications

More information

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus

INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus 6111 E. Skelly Drive P. O. Box 477200 Tulsa, OK 74147-7200 INTERMEDIATE ANDROID DEVELOPMENT Course Syllabus Course Number: APD-0248 OHLAP Credit: No OCAS Code: None Course Length: 120 Hours Career Cluster:

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Content Key concepts

More information

Introduction to Android

Introduction to Android Introduction to Android Ref: Wei-Meng Lee, BEGINNING ANDROID 4 APPLICATION DEVELOPMENT, Ch1, John Wiley & Sons, 2012 1. What is Android Android is a mobile operating system that is based on a modified

More information

TUTORIALS AND QUIZ ANDROID APPLICATION SANDEEP REDDY PAKKER. B. Tech in Aurora's Engineering College, 2013 A REPORT

TUTORIALS AND QUIZ ANDROID APPLICATION SANDEEP REDDY PAKKER. B. Tech in Aurora's Engineering College, 2013 A REPORT TUTORIALS AND QUIZ ANDROID APPLICATION by SANDEEP REDDY PAKKER B. Tech in Aurora's Engineering College, 2013 A REPORT submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE

More information

Questions from The New SensorTag - IoT Made Easy Webinar

Questions from The New SensorTag - IoT Made Easy Webinar Questions from The New SensorTag - IoT Made Easy Webinar Are there any plans to make a Windows API available (preferably portable for use in Windows 10 Universal applications) It is in our queue of projects,

More information

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen

Development Techniques for Native/Hybrid Tizen Apps. Presenter Matti Pakarinen Development Techniques for Native/Hybrid Tizen Apps Presenter Matti Pakarinen 1 Content Symphony Teleca in Brief Introduction to Native/Hybrid Apps Key experiences Case Studies 2 Who we are Symphony Teleca

More information

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc.

Android Application Development. Daniel Switkin Senior Software Engineer, Google Inc. Android Application Development Daniel Switkin Senior Software Engineer, Google Inc. Goal Get you an idea of how to start developing Android applications Introduce major Android application concepts Walk

More information

Programming with Android

Programming with Android Praktikum Mobile und Verteilte Systeme Programming with Android Prof. Dr. Claudia Linnhoff-Popien Philipp Marcus, Mirco Schönfeld http://www.mobile.ifi.lmu.de Sommersemester 2015 Programming with Android

More information

Cookbook. Flash ios Apps. Christopher Caleb. 100 practical recipes for developing ios apps with Flash Professional and Adobe AIR PUBLISHING MUMBAI

Cookbook. Flash ios Apps. Christopher Caleb. 100 practical recipes for developing ios apps with Flash Professional and Adobe AIR PUBLISHING MUMBAI Flash ios Apps Cookbook 100 practical recipes for developing ios apps with Flash Professional and Adobe AIR Christopher Caleb PUBLISHING BIRMINGHAM - MUMBAI Preface 1 Chapter 1: Getting Started with ios

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

OMX, Android, GStreamer How do I decide what to use? 15 July 2011

OMX, Android, GStreamer How do I decide what to use? 15 July 2011 OMX, Android, GStreamer How do I decide what to use? 15 July 2011 When to use which framework? Android (easiest) Customer wants a full featured media player with minimal trouble and no prior knowledge

More information

Experimental Comparison of Hybrid and Native Applications for Mobile Systems

Experimental Comparison of Hybrid and Native Applications for Mobile Systems , pp. 1-12 http://dx.doi.org/10.14257/ijmue.2015.10.3.01 Experimental Comparison of Hybrid and Native Applications for Mobile Systems Seung-Ho Lim Department of Digital Information Engineering Hankuk University

More information

CELLS A Virtual Mobile Smartphone Architecture

CELLS A Virtual Mobile Smartphone Architecture CELLS A Virtual Mobile Smartphone Architecture Jeremy Andrus, Christoffer Dall, Alexander Van t Hof, Oren Laadan, Jason Nieh Columbia University 23rd ACM Symposium on Operating Systems Principles, Cascais,

More information

Des Moines Area Community College

Des Moines Area Community College Des Moines Area Community College Course Information EFFECTIVE FL 2012-01 Acronym/Number MDT 210 Historical Ref Title Android App Development II Credit breakout 3 3 0 0 0 (credit lecture lab practicum

More information

DEVELOPING NFC APPS for BLACKBERRY

DEVELOPING NFC APPS for BLACKBERRY 1 DEVELOPING NFC APPS for BLACKBERRY NFC Forum, Developers Showcase March 21 st, 2014 Larry McDonough, Principal Evangelist @LMCDUNNA 2 CONTENTS Development on BlackBerry BlackBerry NFC Support 5 most

More information

CS378 -Mobile Computing. Android Overview and Android Development Environment

CS378 -Mobile Computing. Android Overview and Android Development Environment CS378 -Mobile Computing Android Overview and Android Development Environment What is Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux

More information

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone - 2012 Android Development Lecture 1 Android SDK & Development Environment Università Degli Studi di Parma Lecture Summary - 2 The Android Platform Android Environment Setup SDK Eclipse & ADT SDK Manager Android

More information

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components

More information

Review On Google Android a Mobile Platform

Review On Google Android a Mobile Platform IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661, p- ISSN: 2278-8727Volume 10, Issue 5 (Mar. - Apr. 2013), PP 21-25 Review On Google Android a Mobile Platform Shyam Bhati 1, Sandeep Sharma

More information

Android Developer Fundamental 1

Android Developer Fundamental 1 Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility

More information

Android Architecture Diagram:

Android Architecture Diagram: Android News Android Development Make Money FEB 17 2012 Android Architecture The Key Concepts of Android OS In the earlier post on Android Development, we ve learned how to install and setup a complete

More information

PROFILEDROID: MULTI-LAYER PROFILING OF ANDROID APPLICATIONS XUETAO WEI LORENZO GOMEZ UNIVERSITY OF CALIFORNIA, RIVERSIDE PROFESSOR IULIAN NEAMTIU

PROFILEDROID: MULTI-LAYER PROFILING OF ANDROID APPLICATIONS XUETAO WEI LORENZO GOMEZ UNIVERSITY OF CALIFORNIA, RIVERSIDE PROFESSOR IULIAN NEAMTIU PROFILEDROID: MULTI-LAYER PROFILING OF ANDROID APPLICATIONS XUETAO WEI LORENZO GOMEZ PROFESSOR IULIAN NEAMTIU PROFESSOR MICHALIS FALOUTSOS UNIVERSITY OF CALIFORNIA, RIVERSIDE WE DEPEND ON SMARTPHONES MORE

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development Mobile Development Trends Need an App... 3 4 Popular Devices in Latvia

More information

Performance Analysis of Android Platform

Performance Analysis of Android Platform Performance Analysis of Android Platform Jawad Manzoor EMDC 21-Nov-2010 Table of Contents 1. Introduction... 3 2. Android Architecture... 3 3. Dalvik Virtual Machine... 4 3.1 Architecture of Dalvik VM...

More information

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd. Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps Hyeokgon Ryu, Infraware Technology, Ltd. Talking about Needs of Automated Converting from Android To Tizen Introduce

More information

Creating Next-Generation User Experience with Windows Aero, Windows Presentation Foundation and Silverlight on Windows Embedded Standard 7

Creating Next-Generation User Experience with Windows Aero, Windows Presentation Foundation and Silverlight on Windows Embedded Standard 7 Creating Next-Generation User Experience with Windows Aero, Windows Presentation Foundation and Silverlight on Windows Embedded Standard 7 Windows Embedded Standard uses the latest Technology included

More information

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you? BogDan Vatra and Andy Gryc Qt on Android: Is it right for you? Coffee and Code sessions Free, three-hour, hands-on session that delves into the internals of Qt on Android. Learn how to: set up the Qt development

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 v ios Mobile Operating Systems

Android v ios Mobile Operating Systems v ios Mobile Operating Systems is an open source operating system widely used on smartphones and tablets. has been available under a free and open source software license from October 21, 2008 and until

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

Introduction to Android Development. Ed Burnette

Introduction to Android Development. Ed Burnette Introduction to Android Development Ed Burnette Developing for Android is... Android architecture Standard Linux Java OpenGL SQLite Networking HTML (WebKit) Non-standard Lifecycle Dalvik Views and

More information

Architecture (SOSP 2011) 11/11/2011 Minsung Jang

Architecture (SOSP 2011) 11/11/2011 Minsung Jang Cells: A Virtual Mobile Smartphone Architecture (SOSP 2011) Lunch TimeReading Group 11/11/2011 Minsung Jang Summary Novel Architecture for a Virtual Phone How to do away with overhead New way to virtualize

More information