Building Android Applications - Software .Building Android Applications ... Dan Morrill ‘ Android

  • View
    213

  • Download
    0

Embed Size (px)

Text of Building Android Applications - Software .Building Android Applications ... Dan Morrill ‘...

  • Building Android Applications

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 1

  • Agenda

    Overview & Inspiration Application components Practical matters

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 2

  • A Powerful Trend

    Why?

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 3

  • A Powerful TrendColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 4

  • 0

    1,000,000,000

    2,000,000,000

    3,000,000,000

    4,000,000,000

    2000 2001 2002 2003 2004 2005 2006 2007

    Internet and Mobile Phone Users, Worldwide

    Internet users (PC-based)Mobile phone users

    A Powerful TrendColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 5

  • Open Handset Alliance MembersColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 6

  • Mobile Operators

    Open Handset Alliance MembersColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 7

  • Mobile Operators

    Handset Manufacturers

    Open Handset Alliance MembersColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 8

  • Mobile OperatorsSoftware

    Handset Manufacturers

    Open Handset Alliance MembersColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 9

  • Mobile Operators

    Semiconductor

    SoftwareHandset Manufacturers

    Open Handset Alliance MembersColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 10

  • Mobile Operators

    SemiconductorCommercialization

    SoftwareHandset Manufacturers

    Open Handset Alliance MembersColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 11

  • Linux Kernel

    DisplayDriver Camera Driver

    Bluetooth Driver

    Flash Memory Driver

    Binder (IPC) Driver

    Power ManagementUSB Driver Keypad Driver WiFi Driver

    AudioDrivers

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 12

  • Linux Kernel

    DisplayDriver Camera Driver

    Bluetooth Driver

    Flash Memory Driver

    Binder (IPC) Driver

    Power ManagementUSB Driver Keypad Driver WiFi Driver

    AudioDrivers

    Libraries

    FreeType

    SGL SSL

    SQLite

    WebKit

    libc

    Surface Manager

    OpenGL | ES

    MediaFramework

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 13

  • Android Runtime

    Dalvik Virtual Machine

    Core Libraries

    Linux Kernel

    DisplayDriver Camera Driver

    Bluetooth Driver

    Flash Memory Driver

    Binder (IPC) Driver

    Power ManagementUSB Driver Keypad Driver WiFi Driver

    AudioDrivers

    Libraries

    FreeType

    SGL SSL

    SQLite

    WebKit

    libc

    Surface Manager

    OpenGL | ES

    MediaFramework

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 14

  • Android Runtime

    Dalvik Virtual Machine

    Core Libraries

    Application Framework

    ViewSystem

    Content Providers

    Resource Manager GTalk Service

    LocationManager

    Activity Manager

    Package Manager

    WindowManager

    TelephonyManager

    NotificationManager

    Linux Kernel

    DisplayDriver Camera Driver

    Bluetooth Driver

    Flash Memory Driver

    Binder (IPC) Driver

    Power ManagementUSB Driver Keypad Driver WiFi Driver

    AudioDrivers

    Libraries

    FreeType

    SGL SSL

    SQLite

    WebKit

    libc

    Surface Manager

    OpenGL | ES

    MediaFramework

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 15

  • Android Runtime

    Dalvik Virtual Machine

    Core Libraries

    Application Framework

    ViewSystem

    Content Providers

    Resource Manager GTalk Service

    LocationManager

    Activity Manager

    Package Manager

    WindowManager

    TelephonyManager

    NotificationManager

    Linux Kernel

    DisplayDriver Camera Driver

    Bluetooth Driver

    Flash Memory Driver

    Binder (IPC) Driver

    Power ManagementUSB Driver Keypad Driver WiFi Driver

    AudioDrivers

    Libraries

    FreeType

    SGL SSL

    SQLite

    WebKit

    libc

    Surface Manager

    OpenGL | ES

    MediaFramework

    Applications

    Home PhoneContacts Browser ...

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 16

  • Application Building Blocks

    Activity UI component typically corresponding to one screen.

    IntentReceiver Set and respond to notifications or status changes. Can wake up your app.

    Service Faceless task that runs in the background.

    ContentProvider Enable applications to share data.

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 17

  • Emulator

    QEMU-based ARM emulator runs same system image as a device

    Use same toolchain to work with devices or emulator

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 18

  • Eclipse PluginProject template

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 19

  • Debugging

    Call stack

    Breakpoints, single stepping

    Examine variables

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 20

  • Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 21

  • Industry

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 22

  • Industry

    Software stack open-sourced under Apache 2.0 licenseSource available after first handsets shipAnyone will be able to build a system image

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 23

  • Industry

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 24

  • Industry Users

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 25

  • Users have control of their experienceThey control what gets installedThey choose the defaults

    Industry Users

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 26

  • Industry Users

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 27

  • Industry Users

    Developers

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 28

  • Dont need permission to ship an applicationNo hidden or privileged framework APIsCan integrate, extend, and replace existing components

    Industry Users

    Developers

    Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 29

  • Colorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 30

  • IntegrateColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 31

  • IntegrateColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 32

  • IntegrateColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 33

  • Integrate ExtendColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 34

  • Integrate ExtendColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 35

  • ReplaceColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 36

  • ReplaceColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 37

  • ReplaceColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 38

  • ReplaceColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 39

  • ReplaceColorado Software Summit: October 19 24, 2008 Copyright 2008, Google

    Dan Morrill Android Development Slide 40

  • Basics of User Interfaces

    Colorado Software Summit: October 19 24, 2008 Cop