Android Overview
Dr. Josh Dehlinger
Dr. Siddharth Kaza
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
 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!
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 for wider distribution
• It’s not 1984
Types of
Android
Devices
Various Android Phones
http://cloud.addictivetips.com/wp-content/uploads/2010/09/and
Galaxy Tablet
http://www.samsung.com/global/microsite/galaxytab/10.1/index.html
Android-Powered Microwave
http://www.pocket-lint.com/news/30712/android-powered-microwave-cooking-google
By Touch Revolution – at CES 2010
http://www.google.com/nexus/
Google/Samsung Galaxy Nexus
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
 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
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
Honeycomb
Android3.0-3.
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+
The Android Developer
Website
 http://developer.android.com/index.html
 This should be your homepage for the next
semester!
Distribution of Devices
Data collected during a 14-day period ending on January 3, 2012
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 (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
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
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
 Development
process for an
Android app
http://developer.android.com/guide/developing/index.html
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
Building and running
 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
Compiled resources
(xml files)
Android Debug Bridge
Building and running (more
details)
 Expand
figure
 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
Android Asset Packing Tool
Allows processes across
apps to communicate.
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
 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
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
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
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
Leveraging the web
 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
Other design principles
 http://developer.android.com/design/index.html
 Great reference!
Apple vs. Google
 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)

Android overview 123

  • 1.
    Android Overview Dr. JoshDehlinger Dr. Siddharth Kaza
  • 2.
    Why Mobile AppDevelopment?  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! 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
  • 3.
    Why Android?  Alot 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
  • 4.
    Why Android?  Transferringapp to phone is trivial  Can distribute by putting it on the web  Android Market for wider distribution • It’s not 1984
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
    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
  • 11.
    Brief History  Manyissues (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
  • 12.
    Brief History -Android  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
  • 13.
    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
  • 14.
    Honeycomb Android3.0-3. 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+
  • 15.
    The Android Developer Website http://developer.android.com/index.html  This should be your homepage for the next semester!
  • 16.
    Distribution of Devices Datacollected during a 14-day period ending on January 3, 2012 http://developer.android.com/resources/dashboard/platform-versions.html
  • 17.
    What is GoogleAndroid?  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
  • 18.
    Android Architecture More detailsat: http://developer.android.com/guide/basics/what-is-android.html
  • 19.
    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
  • 20.
    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
  • 21.
    Mobile Applications  Whatare 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
  • 22.
     Development process foran Android app http://developer.android.com/guide/developing/index.html
  • 23.
    Android Apps  Builtusing 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
  • 24.
    Building and running 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 Compiled resources (xml files) Android Debug Bridge
  • 25.
    Building and running(more details)  Expand figure  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 Android Asset Packing Tool Allows processes across apps to communicate.
  • 26.
    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
  • 27.
  • 28.
    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
  • 29.
    Android Market  http://www.android.com/market/ Hasvarious 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
  • 30.
    Publishing to AndroidMarket  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
  • 32.
    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
  • 33.
    Leveraging the web 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
  • 34.
    Other design principles http://developer.android.com/design/index.html  Great reference!
  • 35.
    Apple vs. Google 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)

Editor's Notes

  • #10 named after a robot in  Bladerunner
  • #13   Open Handset Alliance , a consortium of 47  hardware ,  software , and  telecom  companies devoted to advancing  open standards  for mobile devices. Includes  Texas Instruments ,  Broadcom Corporation ,  Google , HTC, Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel and T-Mobile
  • #19 The linux kernel 2.6 is the hardware abstraction layer (HAL) between the hardware and the android software stack.
  • #20 Maybe more profitable with ads than actually selling the app