Introduction to Android



Similar documents
Development. SriSeshaa Technologies. Table of Contents

Praktikum Entwicklung Mediensysteme (für Master)

CS378 -Mobile Computing. Android Overview and Android Development Environment

Mobile Phones Operating Systems

Introduction to Android

Lecture 1 Introduction to Android

An Introduction to Android

DEVELOPING MOBILE APPLICATIONS USING ANDROID

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

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

Creating and Using Databases for Android Applications

Mobile Applications Grzegorz Budzyń Lecture. 2: Android Applications

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

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

Android Architecture. Alexandra Harrison & Jake Saxton

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

ANDROID INTRODUCTION TO ANDROID

Building an Android client. Rohit Nayak Talentica Software

ITG Software Engineering

Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google

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

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

Smartphone market share

Android Programming and Security

Workshop on Android and Applications Development

Introduction to Android. Sean Sullivan October 27, 2008

Overview of CS 282 & Android

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

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

Introduction to Android

ANDROID OPERATING SYSTEM

An Introduction to Android. Huang Xuguang Database Lab. Inha University

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

Android Environment SDK

Android Geek Night. Application framework

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

Module Title: Software Development A: Mobile Application Development

Running a Program on an AVD

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

ANDROID. Programming basics

Android Operating System

Hacking your Droid ADITYA GUPTA

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

Priority Based Pre-emptive Task Scheduling for Android Operating System

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

Android Development. Marc Mc Loughlin

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

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

Programming with Android

imaginea white paper

Introduction to Android Development. Jeff Avery CS349, Mar 2013

01. Introduction of Android

Google Android: An Emerging Innovative Software Platform For Mobile Devices

Running Android Applications on BlackBerry 10 developer.blackberry.com/android

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

Issues in Android on Mobile Platform and Their Resolution

Android Basics. Xin Yang

CS297 Report. Accelerometer based motion gestures for Mobile Devices

Developing Applications for ios

Android Environment SDK

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

Lee Barnes, CTO Utopia Solutions. Utopia Solutions

Getting started with Android and App Engine

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

ECWM511 MOBILE APPLICATION DEVELOPMENT Lecture 1: Introduction to Android

Mobile Application Development 2014

Android 5.0: Lollipop OS

Fahim Uddin 1. Java SDK

Jordan Jozwiak November 13, 2011

UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

A Review OnEmployee Monitoring Application Using Android Smartphone s Neha S. Mankar 1, Sweeti M. Shambharkar 2 and Asst. Prof. Priti P.

RoverPal - A Mobile Payment Application

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

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

Programming the Android Platform. Logistics

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

An Android-based Instant Message Application

Android (Basic + Advance) Application Development

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

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Introduction to Android. Christophe Beyls Jeudis du Libre - April 2012

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

Google s Android: An Overview

Des Moines Area Community College

Android Developer Fundamental 1

Android Mobile App Building Tutorial

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Basics. Bruce Crawford Global Solutions Manager

Android Application Development

Practical Android Projects Lucas Jordan Pieter Greyling

Android in Action. Second Edition. Revised Edition of Unlocking Android MANNING. (74 w. long.) W. FRANK ABLESON CHRIS KING ROBI SEN.

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

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

Android v ios Mobile Operating Systems

1. Introduction to Android

How To Develop An Android App On An Android Device

Android. Seminar report. Submitted in partial fulfillment of the requirement for the award of degree of Computer Science

OpenCV on Android Platforms

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

Introduction to Android. CSG250 Wireless Networks Fall, 2008

Transcription:

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 to the Android Market?

Agenda What is Android? Why develop an Android application? Fundamentals Tools and Environment configuration Demonstrations and source code Final Questions

What is Android? Android was created by Android, Inc. A small startup company in Palo Alto, CA. Acquired by Google in 2005 (prior to first iphone release) In 2007, the Open Handset Alliance unveiled their first product, Android, a mobile device platform built on Linux kernel 2.6. Key members included Google, HTC, Texas Instruments, Intel, Motorola, nvidia, Qualcomm, Samsung, Sprint, T-Mobile and Marvell Technology Group.

What is Android? Android is a software stack for mobile devices that includes an operating system, middle-ware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Android is open source under the Apache license. Developers receive 70% of an application's sale price from the Android Market. The 30% is distributed between the carriers and payment processors. Google does not take a percentage of the sale.

What is Android? (cont'd) Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

What is Android? (cont'd)

Why develop an Android app? Phenomenal growth (from http://www.androidtapp.com/androidgrowth-statistics-projections/) About 60,000 Android phones sold daily, about 22M a year Motorola DROID slightly out selling iphone sales in 2-1/2 months time (1.05M versus 1M). Android Market tipped over 30,000 Android Apps (3rd party AndroLib.com reports more than 36,000) About 60% of Android Apps are free compared to iphone s 25% The average paid Android app prices at $3.27 U.S. make up 65% of Android devices Rock star Android developers shine like PolarBit with over 1 million downloads and Edward Kim bringing in $13k a month from app sales Android Market will hit 100K apps this month. Apple currently exceeds 300K.

Why develop an Android app?

Fundamentals Activity - An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setcontentview(view) Service - A Service is an application component representing either an application's desire to perform a longer-running operation while not interacting with the user or to supply functionality for other applications to use. ContentProvider - Content providers are one of the primary building blocks of Android applications, providing content to applications. Intent - An intent is an abstract description of an operation to be performed. AndroidManifest.xml - The deployment descriptor for an application. Application Resources - External to the source code and often in an XML file. Strings, images, screen layouts, menus, assets, etc... Data Storage - SQLite database, SD card, internal storage (flash memory) and network storage. Location and Maps - Location of handset, Geocoding and Google Maps API.

Tools and Environment configuration Android SDK Platforms Fully compliant android library and system image (production release) Components Add-ons like Google APIs Virtual Devices Creation of devices simulating specific handset hardware and platform for emulator behavior. Integrated Development Environment Eclipse Version 3.4 or 3.5 to work with the Android Development Tools (ADT) plugin.

Demonstrations and source code Let's see Android in action!

Final Questions

References and such http://www.openhandsetalliance.com http://developer.android.com/index.html http://stackoverflow.com/questions/tagged/android http://groups.google.com/group/android-developers http://groups.google.com/group/android-discuss http://www.google.com/support/forum/p/android+market http://www.anddev.org/ http://code.google.com/events/io/2010/sessions.html#android

Introduction to Android 1 Introduce ourselves and welcome the audience...

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 to the Android Market? 2 Ask the poll questions and give the audience time to raise their hands... Interact with people that raised their hands and ask to share their experiences.

Agenda What is Android? Why develop an Android application? Fundamentals Tools and Environment configuration Demonstrations and source code Final Questions 3 Give the overview and tell the audience where we are going today.

What is Android? Android was created by Android, Inc. A small startup company in Palo Alto, CA. Acquired by Google in 2005 (prior to first iphone release) In 2007, the Open Handset Alliance unveiled their first product, Android, a mobile device platform built on Linux kernel 2.6. Key members included Google, HTC, Texas Instruments, Intel, Motorola, nvidia, Qualcomm, Samsung, Sprint, T-Mobile and Marvell Technology Group. 4 The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 71 hardware, software, and telecom companies devoted to advancing open standards for mobile devices.

What is Android? Android is a software stack for mobile devices that includes an operating system, middle-ware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language. Android is open source under the Apache license. Developers receive 70% of an application's sale price from the Android Market. The 30% is distributed between the carriers and payment processors. Google does not take a percentage of the sale. 5 Android is powering smart phones (duh), tablets, netbooks, e-readers (Barnes and Noble's nook) and even future set top boxes and TVs (GoogleTV). Android Market has a $25 registration fee for developers.

What is Android? (cont'd) Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional) SQLite for structured data storage Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE 6 Applications Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language. Application Framework By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more. Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework).

What is Android? (cont'd) Click to add an outline 7 Underlying all applications is a set of services and systems, including: A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files A Notification Manager that enables all applications to display custom alerts in the status bar An Activity Manager that manages the lifecycle of applications and provides a common navigation Android Runtime Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language. Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the.dex format by the included "dx" tool. The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

Why develop an Android app? Phenomenal growth (from http://www.androidtapp.com/androidgrowth-statistics-projections/) About 60,000 Android phones sold daily, about 22M a year Motorola DROID slightly out selling iphone sales in 2-1/2 months time (1.05M versus 1M). Android Market tipped over 30,000 Android Apps (3rd party AndroLib.com reports more than 36,000) About 60% of Android Apps are free compared to iphone s 25% The average paid Android app prices at $3.27 U.S. make up 65% of Android devices Rock star Android developers shine like PolarBit with over 1 million downloads and Edward Kim bringing in $13k a month from app sales Android Market will hit 100K apps this month. Apple currently exceeds 300K. 8 Device sales for Android OS smartphones ranked second among all smartphone OS handsets sold in the U.S. in the first quarter of 2010. BlackBerry OS and ios (iphone) ranked first and third respectively.

Why develop an Android app? Click to add an outline 9 A recent study yields another signal that Android is gaining steam on Apple's ios, which will power the new iphone 4, Bloomberg Businessweek.com reported. With some 60 Android-based devices and more than 70,000 apps available, the operating system is adding more than 100,000 users daily, according to Mountain View, Californiabased Google. Android will eclipse ios as the world s second-most-popular mobile operating software in 2012, researcher Gartner Inc. has said.

Fundamentals Activity - An activity is a single, focused thing that the user can do. Almost all activities interact with the user, so the Activity class takes care of creating a window for you in which you can place your UI with setcontentview(view) Service - A Service is an application component representing either an application's desire to perform a longer-running operation while not interacting with the user or to supply functionality for other applications to use. ContentProvider - Content providers are one of the primary building blocks of Android applications, providing content to applications. Intent - An intent is an abstract description of an operation to be performed. AndroidManifest.xml - The deployment descriptor for an application. Application Resources - External to the source code and often in an XML file. Strings, images, screen layouts, menus, assets, etc... Data Storage - SQLite database, SD card, internal storage (flash memory) and network storage. Location and Maps - Location of handset, Geocoding and Google Maps API. 10 Activities An activity is usually a single screen in your application One activity is designated as the entry point for your application Intents An Intent is a simple message object that represents an intention to do something An intent is an abstract description of an operation to be performed

Tools and Environment configuration Android SDK Platforms Fully compliant android library and system image (production release) Components Add-ons like Google APIs Virtual Devices Creation of devices simulating specific handset hardware and platform for emulator behavior. Integrated Development Environment Eclipse Version 3.4 or 3.5 to work with the Android Development Tools (ADT) plugin. 11 The Android Development Tools (ADT) plugin for Eclipse adds powerful extensions to the Eclipse integrated development environment. It allows you to create and debug Android applications easier and faster. If you use Eclipse, the ADT plugin gives you an incredible boost in developing Android applications: It gives you access to other Android development tools from inside the Eclipse IDE. For example, ADT lets you access the many capabilities of the Dalvik Debug Monitor Server (DDMS) tool: take screenshots, manage port-forwarding, set breakpoints, and view thread and process information directly from Eclipse. It provides a New Project Wizard, which helps you quickly create and set up all of the basic files you'll need for a new Android application. It automates and simplifies the process of building your Android application. It provides an Android code editor that helps you write valid XML for your Android manifest and resource files. It will even export your project into a signed APK, which can be distributed to users.

Demonstrations and source code Let's see Android in action! 12 Demo the Android Development Tools in Eclipse Show the AVD Manager and add a device Show the MyFirstAndroidApplication App structure Show how to run an application Show the layout WYSIWYG tool Demo the App Show the DDMS and LogCat

Final Questions 13

References and such http://www.openhandsetalliance.com http://developer.android.com/index.html http://stackoverflow.com/questions/tagged/android http://groups.google.com/group/android-developers http://groups.google.com/group/android-discuss http://www.google.com/support/forum/p/android+market http://www.anddev.org/ http://code.google.com/events/io/2010/sessions.html#android 14