You are on page 1of 35

Android Overview

The

fact that we can! Only a few years ago you had to be in the Motorola inner circle to do it! Mobile platform is the platform of the future
Double-digit growth in world-wide smartphone ownership3
Job

market is hot

Market for mobile software surges from $4.1 billion in 2009 to $17.5 billion by 20121 2010 Dice.com survey: 72% of recruiters looking for iPhone app developers, 60% for Android1 Dice.com: mobile app developers made $85,000 in 2010 and salaries expected to rise2
Students

(and faculty!) are naturally interested!

Why Mobile App Development?


1 http://www.businessweek.com/technology/content/oct2010/tc20101020_639668.htm 2 http://it-jobs.fins.com/Articles/SB129606993144879991/Mobile-App-Developers-Wanted-at-Ad-Agencies 3http://www.gartner.com/it/page.jsp?id=1466313

lot of students have them

2010 survey by University of CO1: 22% of college students have Android phone (26% Blackberry, 40% iPhone) Gartner survey2: Android used on 22.7% of smartphones sold world-wide in 2010 (37.6% Symbian, 15.7% iOS)
Students

already know Java and Eclipse

Low learning curve CS0 students can use App Inventor for Android

Why Android?
1http://testkitchen.colorado.edu/projects/reports/smartphone/smartphone-appendix1/ 2http://www.gartner.com/it/page.jsp?id=1543014

Transferring

app to phone is trivial

Can distribute by putting it on the web Android Market for wider distribution

Its not 1984

Why Android?

Types of Android Devices

http://cloud.addictivetips.com/wp-content/uploads/2010/09/and Various Android Phones

Galaxy Tablet

http://www.samsung.com/global/microsite/galaxytab/10.1/index.html

Android-Powered Microwave By Touch Revolution at CES 2010


http://www.pocket-lint.com/news/30712/android-powered-microwave-cooking-google

Google/Samsung Galaxy Nexus


http://www.google.com/nexus/

1996

The WWW already had websites with color and images But, the best phones displayed a couple of lines of monochrome text! Enter:
Wireless Application Protocol (WAP) stripped down HTTP for bandwidth reduction Wireless Markup Language (WML) stripped down HTML for content

Brief History

Many

issues (WAP = Wait And Pay)

Few developers to produce content (it wasnt fun!) Really hard to type in URLs using the small keyboards Data fees frightfully expensive No billing mechanism content difficult to monetize
Other

platforms emerged

Palm OS, Blackberry OS, J2ME, Symbian (Nokia), BREW, OS X iPhone, Windows Mobile

Brief History

2005

2007 2008

Google acquires startup Android Inc. to start Android platform Work on Dalvik VM begins Open Handset Alliance announced Early look at SDK Google sponsors 1st Android Developer Challenge T-Mobile G1 announced SDK 1.0 released Android released open source (Apache License) Android Dev Phone 1 released

Brief History - Android

2009

SDK 1.5 (Cupcake) SDK 1.6 (Donut)


Support Wide VGA

New soft keyboard with autocomplete feature

SDK 2.0/2.0.1/2.1 (Eclair)


2010
Revamped UI, browser

Nexus One released to the public SDK 2.2 (Froyo) SDK 2.3 (Gingerbread)
Flash support, tethering UI update, system-wide copy-paste

Brief History cont.

2011
SDK 3.0/3.1/3.2 (Honeycomb) for tablets only
New UI for tablets, support multi-core processors

SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich) Changes to the UI, Voice input, NFC

Ice cream Sandwic


Android 4.0+

Brief History cont.


b om yc -3. ne 3.0 Hondroid
A

http://developer.android.com/index.html This

should be your homepage for the next semester!

The Android Developer Website

Data collected during a 14-day period ending on January 3, 2012

http://developer.android.com/resources/dashboard/platform-versi

Distribution of Devices

software stack for mobile devices that includes


An operating system Middleware Key Applications

Uses

Linux to provide core system services


Security Memory management Process management Power management Hardware drivers

What is Google Android?

Android Architecture
More details at: http://developer.android.com/guide/basics/what-is-android.html

Always

with the user Typically have Internet access Typically GPS enabled Typically have accelerometer & compass Most have cameras & microphones Many apps are free or low-cost

Mobile Devices: Advantages (as compared to fixed devices)

Limited Limited Limited Limited

access Limited or awkward input: soft keyboard, phone keypad, touch screen, or stylus Limited web browser functionality Range of platforms & configurations across devices

screen size battery life processor speed and sometimes slow network

Mobile Devices: Disadvantages

What Types

are they?

Any application that runs on a mobile device Web apps: run in a web browser
HTML, JavaScript, Flash, server-side components, etc.

Native: compiled binaries for the device


Often make use of web services

Mobile Applications

Development

process for an Android app

http://developer.android.com/guide/developing/index.html

Built

using Java and new SDK libraries

No support for some Java libraries like Swing & AWT Oracle currently suing Google over use
Java

code compiled into Dalvik byte code (.dex)


Optimized for mobile devices (better memory management, battery utilization, etc.)

Dalvik

VM runs .dex files

Android Apps

Compiled resources (xml files)

ADB is a client server program that connects clients on developer machine to devices/emulators to facilitate Android Debug Bridge development. An IDE like Eclipse handles this entire process for you.

Building and running


http://developer.android.com/guide/developing/building/index.html#detailed-build

Android Asset Packing Tool

Expand

figure

Allows processes across apps to communicate.

Building and running (more details)


http://developer.android.com/guide/de veloping/building/index.html#detailedbuild

Android Interface Definition Language (AIDL) Definitions to exchange data between applications (think SOAP)

By

default, each app is run in its own Linux process


Process started when apps code needs to be executed Threads can be started to handle time-consuming operations

Each

process has its own Dalvik VM By default, each app is assigned unique Linux ID
Permissions are set so apps files are only visible to that app

Applications Are Boxed

Android Architecture

Paid

apps in Android Market, various other markets Free, ad-supported apps in Android Market
Services

Ad networks (Google AdMob, Quattro Wireless) Sell your own ads Ex. Skyhook Wireless ( http://www.skyhookwireless.com/)

to other developers

Publishing and Monetizing

Contests (Android Developer Challenge) Selling products from within your app

http://www.android.com/market/
Has

various categories, allows ratings Have both free/paid apps Featured apps on web and on phone The Android Market (and iTunes/App Store) is great for developers
Level playing field, allowing third-party apps Revenue sharing

Android Market

Requires

Google Developer Account

$25 fee
Link

to a Merchant Account

Google Checkout Link to your checking account Google takes 30% of app purchase price

Publishing to Android Market

Applications

Fast

should be:

Responsive Secure

Resource constraints: <200MB RAM, slow processor Apps must respond to user actions within 5 seconds Apps declare permissions in manifest

Usability is key, persist data, suspend services Android Design Philosophy Android kills processes in background as needed

Seamless

To

keep your apps fast and responsive, consider how you can leverage the web
What ____________ can be ________ on a server or in the cloud?
Tasks/performed Data/persisted Data/retrieved

Beware, data transfer is also expensive and can be slow

Leveraging the web

http://developer.android.com/design/index.ht

Great

reference!

Other design principles

Open

Handset Alliance

30+ technology companies Commitment to openness, shared vision, and concrete plans
Compare

with Mac/PC battles

Similar (many PC manufacturers, one Apple) Different (Microsoft sells Windows, Google gives away Android)

Apple vs. Google