際際滷

際際滷Share a Scribd company logo
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
 Its 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 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 - 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 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
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 overview 123
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)

More Related Content

Android overview 123

  • 1. Android Overview Dr. Josh Dehlinger Dr. Siddharth Kaza
  • 2. 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
  • 3. 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
  • 4. Why Android? Transferring app to phone is trivial Can distribute by putting it on the web Android Market for wider distribution Its not 1984
  • 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 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
  • 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 Data collected during a 14-day period ending on January 3, 2012 http://developer.android.com/resources/dashboard/platform-versions.html
  • 17. 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
  • 18. Android Architecture More details at: 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 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
  • 22. Development process for an Android app http://developer.android.com/guide/developing/index.html
  • 23. 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
  • 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 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
  • 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/ 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
  • 30. 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
  • 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

  1. named after a robot in Bladerunner
  2. 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 NextelandT-Mobile
  3. The linux kernel 2.6 is the hardware abstraction layer (HAL) between the hardware and the android software stack.
  4. Maybe more profitable with ads than actually selling the app