Download Android Overview

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Android Overview
Why Mobile App Development?


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


Job market is hot




Double-digit growth in world-wide smartphone ownership3
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!
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
Why Android?

A 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
1http://testkitchen.colorado.edu/projects/reports/smartphone/smartphone-appendix1/
2http://www.gartner.com/it/page.jsp?id=1543014
Why Android?

Transferring app to phone is trivial


•
Can distribute by putting it on the web
Android Market (now Google Play) for wider
distribution
It’s not 1984
Types of
Android Devices
Various Android Phones
Galaxy Note 3
Galaxy Tablet
Android-Powered Microwave
By Touch Revolution – at CES 2010
http://www.pocket-lint.com/news/30712/android-powered-microwave-cookinggoogle
Android-Powered Watch
Android-Powered Camera
Android-Powered TV
Android-Powered Car Radio
Android-Powered Washing Machine
Android-Powered PC
Brief History

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 wasn’t
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 - Android

2005



2007



Google acquires startup Android Inc. to start Android
platform
Work on Dalvik VM begins
Open Handset Alliance announced
Early look at SDK
2008





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 cont.

2009

SDK 1.5 (Cupcake)


SDK 1.6 (Donut)


Support Wide VGA
SDK 2.0/2.0.1/2.1 (Eclair)


New soft keyboard with “autocomplete” feature
Revamped UI, browser
2010


Nexus One released to the public
SDK 2.2 (Froyo)


Flash support, tethering
SDK 2.3 (Gingerbread)

UI update, system-wide copy-paste
Brief History cont.

2011

SDK 3.x (Honeycomb)


SDK 4.0 (Ice Cream Sandwich)


Optimized for tablet support
Virtual UI buttons
2012

SDK 4.1.1 (Jelly Bean)

Triple buffered graphics pipeline
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 Sandwich
Android 4.0+
Jelly Bean
Android 4.1.1
Distribution of Devices
Data collected during a 14-day period ending on January 3, 2012
http://developer.android.com/resources/dashboard/platform-versions.html
Distribution of Devices
http://developer.android.com/resources/dashboard/platform-versions.html
What is Google Android?

A 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
Android Architecture
More details at: http://developer.android.com/guide/basics/what-is-android.html
Mobile Devices: Advantages






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: Disadvantages







Limited screen size
Limited battery life
Limited processor speed
Limited and sometimes slow network access
Limited or awkward input: soft keyboard,
phone keypad, touch screen, or stylus
Limited web browser functionality
Range of platforms & configurations across
devices link
Mobile Applications

What are they?


Any application that runs on a mobile device
Types

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
Android Apps

Built using Java and new SDK libraries


Java code compiled into Dalvik byte code
(.dex)


No support for some Java libraries like Swing
& AWT
Optimized for mobile devices (better memory
management, battery utilization, etc.)
Dalvik VM runs .dex files

Development
process for an
Android app
http://developer.android.com/guide/developing/index.html
Building and running
Compiled resources
(xml files)
Android Debug Bridge


ADB is a client server program that connects clients on
developer machine to devices/emulators to facilitate
development.
An IDE like Eclipse handles this entire process for you.
http://developer.android.com/guide/developing/building/index.html#detailed-build
Building and Running
Applications Are Boxed

By default, each app is run in its own Linux
process




Process started when app’s 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 app’s files are only visible
to that app
Android Architecture
Publishing and Monetizing


Paid apps in Android Market, various other
markets
Free, ad-supported apps in Android Market



Services to other developers



Ad networks (Google AdMob, Quattro Wireless)
Sell your own ads
Ex. Skyhook Wireless
(http://www.skyhookwireless.com/)
Contests (Android Developer Challenge)
Selling products from within your app
Android Market (Google Play)

https://play.google.com/store

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
Publishing to Google Play

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
Android Design Philosophy

Applications should be:

Fast


Responsive


Apps must respond to user actions within 5
seconds
Secure


Resource constraints: <200MB RAM, slow
processor
Apps declare permissions in manifest
Seamless


Usability is key, persist data, suspend services
Android kills processes in background as needed
Other design principles

http://developer.android.com/design/index.ht
ml

Great reference!