2. WHAT IS ANDROID?
Android is a software stack for
mobile devices that includes an
operating system, middleware and
key applications.
3. BRIEF HISTORY
2005
Google acquires startup Android Inc. to start
Android platform
Work on Dalvik VM begins
2007
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
4. Brief History cont.
2009
SDK 1.5 (Cupcake)
New soft keyboard with “autocomplete” feature
SDK 1.6 (Donut)
Support Wide VGA
SDK 2.0/2.0.1/2.1 (Eclair)
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
5. 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
Honeycomb Android 4.0+
Android 3.0-3.2
6. What is an Android Phone?
SinceGoogle built Android as an open
standard device, anyone can build
applications for the phone and enhance
them.
Android is completely customizable!
9. 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
11. Android Apps
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
12. 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
13. What is an Android Phone?
LikeApple’s iPhone, Android has a
touch screen. Some Android phones
also have keyboards.
16. The (bad) Reviews
Resizing is clumsy and difficult.
No easy way to get your music library
onto phone.
Video/music player are “hideous.”
Official apps not as polished as iPhone
counterparts.
Looking through apps on phone and
syncing with computer can be tedious.
Not the simplest device to figure out.
Phone controls inconsistent.
Can be slow.
17. The (good) Reviews
Google’s apps are “simply awesome.”
A bit cheaper.
Very good mobile browser.
Good for tech-savvy people.
Developing and improving faster than any other
phone on the market.
Large room for potential growth and improvements!
18. Mobile Devices: Advantages
(as compared to fixed devices)
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
19. 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
20. Building and running (more
details)
Android Asset Packing Tool
Expand figure Allows processes across
apps to communicate.
Android Interface
Definition
Language (AIDL)
– Definitions to
exchange data
between
applications
(think SOAP)
http://developer.android.com/guide/de
veloping/building/index.html#detailed-
build
21. 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
23. Publishing and Monetizing
Paid apps in Android Market, various other
markets
Free, ad-supported apps in Android Market
Ad networks (Google AdMob, Quattro Wireless)
Sell your own ads
Services to other developers
Ex. Skyhook Wireless
(http://www.skyhookwireless.com/)
Contests (Android Developer Challenge)
Selling products from within your app
24. Android Market
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
25. Publishing to 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
26.
27. Android Design Philosophy
Applications should be:
Fast
Resource constraints: <200MB RAM, slow processor
Responsive
Apps must respond to user actions within 5 seconds
Secure
Apps declare permissions in manifest
Seamless
Usability
is key, persist data, suspend services
Android kills processes in background as needed
28. Apple vs. Google Android
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)