Developer s overview of the Android platform

Similar documents
Android App Development

Android Overview. Most of the material in this section comes from

ANDROID SYLLABUS. Advanced Android

Android Overview. Francesco Mercaldo, PhD

Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

Android App Development

CS260 Intro to Java & Android 04.Android Intro

Android - open source mobile platform

Android Development Tutorial. Yi Huang

DROID. By S.Gokulakrishnan AP/CSE SCSVMV

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

Introduction to Android

SHWETANK KUMAR GUPTA Only For Education Purpose

Mobile Computing. Introduction to Android

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.

Android. (XKE Mars 2009) Erwan Alliaume.

Android Online Training

Mobile Application Development

Mobile and Wireless Systems Programming

Introduction to Android

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Introduction to Android Application Development. Mike Kvintus Principal Engineer JDSU

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

Android In Industrial Applications. A Field Report

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

Chapter 1 Hello, Android

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Language-Based Security on Android (call for participation) Avik Chaudhuri

Mobile OS. Symbian. BlackBerry. ios. Window mobile. Android

Software Development & Education Center ANDROID. Application Development

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Introduction To Android

Mobile Application Development - Android

Introduction to Mobile Application and Development

PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY:

Open Mobile Platforms. EE 392I, Lecture-6 May 4 th, 2010

Android Programmierung leichtgemacht. Lars Vogel

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

1. What are the key components of Android Architecture? 2. What are the advantages of having an emulator within the Android environment?

ANDROID APPS (NOW WITH JELLY BEANS!) Jordan Jozwiak November 11, 2012

Android Programming (5 Days)

ITG Software Engineering

The World of Android Development

Android App Development Workshop

Introduction What is Android?

MC Android Programming

CHAPTER 1: HELLO, ANDROID 1

Questions and Answers. Q.1) Which of the following is the most ^aeuroeresource hungry ^aeuroepart of dealing with activities on android?

How ercp stacks up against Android and other Mobile Rich Client Platforms. Ken Walker, J9 Java Class Libraries David Girle, Client Solutions WPLC

Introduction to Android

Android App Development. Ahmad Tayeb

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Diploma Thesis Collaborative Data Processing on Mobile Handsets Jan Kettner. Examiner: Prof. Dr. Mesut Günes Tutor: Georg Wittenburg, M. Sc.

IJRDTM Kailash ISBN No Vol.17 Issue

Minds-on: Android. Session 1

Praktikum Entwicklung von Mediensystemen mit Android

ANDROID TRAINING PROGRAM COURSE CONTENT

Android Software Development Kit (Part I)

Programming in Android. Nick Bopp

An overview of mobile and embedded platforms

CS 528 Mobile and Ubiquitous Computing Lecture 1b: Introduction to Android. Emmanuel Agu

Introduction to Android development

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Android Apps Development

ANDROID COURSE BROCHURE

Xin Pan. CSCI Fall

CS 4518 Mobile and Ubiquitous Computing Lecture 2: Introduction to Android. Emmanuel Agu

Programming with Android: System Architecture. Luca Bedogni. Dipartimento di Scienze dell Informazione Università di Bologna

Around Android. Essential Android features illustrated by a walk through a practical example

Android Application Development Course 28 Contact Hours

Android. Operating System and Architecture. Android. Screens. Main features

Mobile development initiation

Android Development Tools = Eclipse + ADT + SDK

User Interface Design & Development

Syllabus- Java + Android. Java Fundamentals

Android & iphone. A Comparison. Stefan Tramm JUGS, Jahresevent

Security Philosophy. Humans have difficulty understanding risk

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Android Apps. with Eclipse. Apress. Onur Cinar

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

COSC 3P97 Mobile Computing

Minds-on: Android. Session 2

Android Programming in Bluetooth Cochlea Group

Praktikum Mobile und Verteilte Systeme. Android-Basics. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

Anthony Hand, M.S.I. Mobile User Experience Designer, Hand Interactive Presented at:

Android-Basics. Praktikum Mobile und Verteilte Systeme. Prof. Dr. Claudia Linnhoff-Popien André Ebert, Sebastian Feld

Ahmed Ali Big fan of Android

Android. Training.

SD Module- Android Programming

Android" Application Development SAMS. Sams Teach Yourself. Shane Conder. Lauren Darcey. Second Edition

ios vs Android By: Group 2

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Android Application Development

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

CS378 -Mobile Computing. Intents

ATC Android Application Development

Mobile Computing LECTURE # 2

Contextual Android Education

Pro Android 2. Sayed Y. Hashimi Satya Komatineni Dave Mac Lean. Apress

Mobile Application Development. Introduction. Dr. Christelle Scharff Pace University, USA

Transcription:

Developer s overview of the Android platform Erlend Stav SINTEF November 10, 2009 mailto:erlend.stav@sintef.no 1

Overview Vendors and licensing Application distribution Platform architecture Application architecture GUI and other components Inter-app communication Development tools 2

Devices Devices from multiple vendors Available now: HTC Dream, Magic, Hero, Tattoo Samsung Galaxy Motorola Droid Others like Sony Ericsson and Acer are also planning Motorola Droid HTC Hero Samsung Galaxy HTC Tattoo 3

Devices, licensing, and openness Open Handset Alliance Free and open source mobile platform, including OS, middleware and key applications Regular retail devices can be used to test and use applications Android Dev Phone 1 SIM-unlocked and hardware-unlocked development device Currently ships to 28 countries worldwide. 4

Distributing your applications Developers can publish their applications through Android Market To become a publisher of applications in the Android Market requires registration and a fee ($25) Currently only developers from 9 countries can sell applications Publishers of free applications can be from numerous countries Free applications can be distributed to 25 countries and paid applications to 11 countries For Norway, only free applications are currently supported 5

Acquiring and deploying applications Applications can be acquired by users through Android Market Applications are acquired directly from Android Market to the device. Currently Market is not viewable outside the device. All code for an application is bundled as an Android package for distribution and deployment Updates to installed applications are available when visiting My Downloads under Android Market. 6

Architecture overview Source: http://developer.android.com/guide/basics/what-is-android.html

Runtime model / processes for application Full multitasking Default: every application has separate Linux process Each process has its own Java VM To conserve resources it is possible to allow applications to run in the same process, sharing the same VM These YouTube videos shows how home screen and home button is used to switch between applications 8

Application Architecture No main() function for applications Four kinds of components, an application may have multiple of each. Activity: presents user interface Service: runs in background without user interface Broadcast receivers: only receives and reacts to broadcast announcements Content providers: makes set of application data available to other applications 9

Activities, tasks, intents A task is a group of activities arranged as a stack (seen from the user as an application) One activity can start other activities Activities from different applications can part of the same task (but belong to different processes) Activities, services and broadcast receivers are activated through asynchronous messages called intents An intent names an action and a data URI Intents supported by components are declared in the application's manifest See this YouTube video for illustration 10

Lifecycle of activities Source: http://developer.android.com/guide/topics/fundamentals.html 11

User interfaces Views are basic units of UI, view groups View groups, such as layouts, provide hierarchy and organization such as linear, tabular, etc. Rich set of widgets (concrete views such as buttons, text view, image view, etc) Activities have a content view Source: http://developer.android.com/guide/topics/ui/declaring-layout.html 12

High level components Map View (as add-on), supports overlays Web View Video View Media Controller In addition activities from other applications are integrated through intents 13

Inter-application communication Launch other activities using intents with action and URI Components register intent filters they react to Copy / paste between applications Content Providers gives access to data from other applications Components can bind to services also of other applications, and perform remote procedure calls to interfaces declared using an IDL 14

Examples of URLs and intent actions ACTION_SEND CALL tel:2125551212 ACTION_EDIT content://contacts/1 VIEW http://web_address VIEW geo:0,0?q=my+street+address ACTION_GET_CONTENT ACTION_REBOOT List of intents for Google apps: http://developer.android.com/guide/appendix/g-appintents.html 15

Device access Sensors including accelerometer, proximity, light, temperature, Positioning, location provides, GPS status Camera including settings, preview, snap picture Bluetooth API added in Android 2.0 API for accessing current state and listening to state changes for in telephone (network type, cell ids, calls, data traffic ) 16

File management Default: each application has a unique Linux user id, and application files are only visible to that user id 17

Programming languages All applications are developed in Android s Java also the built-in applications that come with the phone Dalvik VM specific to Android Android-specific bytecode optimized for minimal memory footprint Libraries do not match any of the standard Java profiles, but covers most of J2ME CDC 18

Development tools and profiling Free SDK available for Windows, Mac, and Linux development Any Java development environment can be used, although Eclipse has most support Free tools include: Android Development Tools plugin for Eclipse Android Emulator Memory and performance profiling Debugging tools UI stress-test tools 19

References Android s developer guide Site: http://developer.android.com/guide/ Illustrations from: What is Android? Application Fundamentals User Interface Declaring Layouts 20