Docstoc

Android Overview

Document Sample
Android Overview Powered By Docstoc
					Android Overview

     Dr. Josh Dehlinger
     Dr. Siddharth Kaza
      Why Mobile App Development?
      l   The fact that we can! Only a few years ago you had to 
          be in the Motorola inner circle to do it!
      l   Mobile platform is the platform of the future
          l    Double-digit growth in world-wide smartphone ownership3
      l   Job market is hot
          l    Market for mobile software surges from $4.1 billion in 2009 to 
               $17.5 billion by 20121
          l    2010 Dice.com survey: 72% of recruiters looking for iPhone app 
               developers, 60% for Android1
          l    Dice.com: mobile app developers made $85,000 in 2010 and 
               salaries expected to rise2
      l   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
3
  http://www.gartner.com/it/page.jsp?id=1466313
        Why Android?
        l   A lot of students have them
            l   2010 survey by University of CO1: 22% of college 
                students have Android phone (26% Blackberry, 40% 
                iPhone)
            l   Gartner survey2: Android used on 22.7% of 
                smartphones sold world-wide in 2010 (37.6% 
                Symbian, 15.7% iOS)
        l   Students already know Java and Eclipse
            l   Low learning curve
            l   CS0 students can use App Inventor for Android

1
    http://testkitchen.colorado.edu/projects/reports/smartphone/smartphone-appendix1/
2
    http://www.gartner.com/it/page.jsp?id=1543014
Why Android?
l   Transferring app to phone is trivial
    l   Can distribute by putting it on the web
    l   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/android-phone
       -timeline.jpg
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/
Brief History
l   1996
    l   The WWW already had websites with color and 
        images
    l   But, the best phones displayed a couple of lines 
        of monochrome text!
    l   Enter: 
        l   Wireless Application Protocol (WAP) – stripped down 
            HTTP for bandwidth reduction
        l   Wireless Markup Language (WML) – stripped down 
            HTML for content
Brief History
l   Many issues (WAP = “Wait And Pay”)
    l   Few developers to produce content (it wasn’t fun!)
    l   Really hard to type in URLs using the small 
        keyboards
    l   Data fees frightfully expensive 
    l   No billing mechanism – content difficult to 
        monetize
l   Other platforms emerged
    l   Palm OS, Blackberry OS, J2ME, Symbian 
        (Nokia), BREW, OS X iPhone, Windows Mobile
Brief History - Android
l   2005
    l   Google acquires startup Android Inc. to start Android platform
    l   Work on Dalvik VM begins
l   2007
    l   Open Handset Alliance announced
    l   Early look at SDK
l   2008
    l   Google sponsors 1st  Android Developer Challenge
    l   T-Mobile G1 announced
    l   SDK 1.0 released
    l   Android released open source (Apache License)
    l   Android Dev Phone 1 released
Brief History cont.
l   2009
    l   SDK 1.5 (Cupcake)
        l   New soft keyboard with “autocomplete” feature
    l   SDK 1.6 (Donut)
        l   Support Wide VGA 
    l   SDK 2.0/2.0.1/2.1 (Eclair)
        l   Revamped UI, browser
l   2010
    l   Nexus One released to the public
    l   SDK 2.2 (Froyo)
        l   Flash support, tethering
    l   SDK 2.3 (Gingerbread)
        l   UI update, system-wide copy-paste
Brief History cont.
l   2011
    l   SDK 3.0/3.1/3.2 (Honeycomb) for tablets only
        l   New UI for tablets, support multi-core processors
    l   SDK 4.0/4.0.1/4.0.2/4.0.3 (Ice Cream Sandwich)
        l Changes to the UI, Voice input, NFC 




                                                                Ice cream Sandwic
                                                                     Android 4.0+
                   Hondroid
                   A
                     ne 3.0
                        yc -3.
                            om
                               b
The Android Developer
Website
l   http://developer.android.com/index.html 

l   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?
l   A software stack for mobile devices that includes
    l   An operating system
    l   Middleware
    l   Key Applications

l   Uses Linux to provide core system services
    l   Security
    l   Memory management
    l   Process management
    l   Power management
    l   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)
l   Always with the user
l   Typically have Internet access
l   Typically GPS enabled
l   Typically have accelerometer & compass
l   Most have cameras & microphones
l   Many apps are free or low-cost
Mobile Devices: Disadvantages
l   Limited screen size
l   Limited battery life
l   Limited processor speed
l   Limited and sometimes slow network access
l   Limited or awkward input: soft keyboard, phone 
    keypad, touch screen, or stylus
l   Limited web browser functionality
l   Range of platforms & configurations across 
    devices
Mobile Applications
l   What are they?
    l   Any application that runs on a mobile device
l   Types
    l   Web apps: run in a web browser
        l   HTML, JavaScript, Flash, server-side components, 
            etc.
    l   Native: compiled binaries for the device
        l   Often make use of web services
l   Development 
    process for an 
    Android app




http://developer.android.com/guide/developing/index.html 
Android Apps
l   Built using Java and new SDK libraries
    l   No support for some Java libraries like Swing & 
        AWT
    l   Oracle currently suing Google over use
l   Java code compiled into Dalvik byte code 
    (.dex)
    l   Optimized for mobile devices (better memory 
        management, battery utilization, etc.)
l   Dalvik VM runs .dex files
      Building and running
                                                                                   Compiled resources 
                                                                                   (xml files)




                                                                                   Android Debug Bridge


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


http://developer.android.com/guide/developing/building/index.html#detailed-build
      Building and running (more
      details)
                Android Asset Packing Tool

      l   Expand 
          figure                             Allows processes across 
                                             apps to communicate.



      l   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
Applications Are Boxed
l   By default, each app is run in its own Linux 
    process
    l   Process started when app’s code needs to be 
        executed
    l   Threads can be started to handle time-consuming 
        operations
l   Each process has its own Dalvik VM
l   By default, each app is assigned unique Linux ID
    l   Permissions are set so app’s files are only visible to 
        that app
Android Architecture
Publishing and Monetizing

l   Paid apps in Android Market, various other 
    markets
l   Free, ad-supported apps in Android Market
    l   Ad networks (Google AdMob, Quattro Wireless)
    l   Sell your own ads
l   Services to other developers
    l   Ex. Skyhook Wireless 
        (http://www.skyhookwireless.com/) 
l   Contests (Android Developer Challenge)
l   Selling products from within your app
Android Market
l   http://www.android.com/market/ 


lHas various categories, allows ratings

lHave both free/paid apps

lFeatured apps on web and on phone

lThe Android Market (and iTunes/App Store) is 
great for developers 
l   Level playing field, allowing third-party apps
l   Revenue sharing
Publishing to Android Market
l   Requires Google Developer Account
    l   $25 fee
l   Link to a Merchant Account
    l   Google Checkout
    l   Link to your checking account
    l   Google takes 30% of app purchase price
Android Design Philosophy

l   Applications should be:
    l   Fast
        l   Resource constraints: <200MB RAM, slow processor
    l   Responsive
        l   Apps must respond to user actions within 5 seconds
    l   Secure
        l   Apps declare permissions in manifest
    l   Seamless
        l   Usability is key, persist data, suspend services
        l   Android kills processes in background as needed
Leveraging the web
l   To keep your apps fast and responsive, 
    consider how you can leverage the web
    l   What ____________ can be ________ on a 
        server or in the cloud?
        l   Tasks/performed
        l   Data/persisted
        l   Data/retrieved
    l   Beware, data transfer is also expensive and can 
        be slow
Other design principles
l   http://developer.android.com/design/index.ht
    ml 

l   Great reference!
Apple vs. Google
l   Open Handset Alliance
    l   30+ technology companies
    l   Commitment to openness, shared vision, and 
        concrete plans
l   Compare with Mac/PC battles
    l   Similar (many PC manufacturers, one Apple)
    l   Different (Microsoft sells Windows, Google gives 
        away Android)

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:21
posted:9/13/2013
language:
pages:35