Professional Documents
Culture Documents
Android Application Development: Daniel Switkin Senior Software Engineer, Google Inc
Android Application Development: Daniel Switkin Senior Software Engineer, Google Inc
Daniel Switkin
Senior Software Engineer, Google Inc.
Goal
Agenda
System architecture
Hello World!
Application components
Practical matters
Toolchain
What is Android?
Applications
Home
Contacts
Phone
Browser
...
Application Framework
Activity Manager
Window
Manager
Content
Providers
View
System
Notification
Manager
Package Manager
Telephony
Manager
Resource
Manager
Location
Manager
GTalk Service
Libraries
Android Runtime
Surface Manager
Media
Framework
SQLite
Core Libraries
OpenGL | ES
FreeType
WebKit
Dalvik Virtual
Machine
SGL
SSL
libc
Linux Kernel
Display
Driver
Camera Driver
Bluetooth
Driver
Flash Memory
Driver
Binder (IPC)
Driver
USB Driver
Keypad Driver
WiFi Driver
Audio
Drivers
Power
Management
Hello World!
Generating GUIs
Views
Layouts
480x320
240x320
320x240
res/layout/share.xml
res/layout-land/share.xml
Layout Parameters
Application Components
Basic components
Activities
UI component typically
corresponding to one screen.
Activities
Intents
Intents
Home
Contacts
Pick photo
Photo
Picasa
Gallery
GMail
Chat
Blogger
New components
Client
System
Components
component
picks best
can be
can
makes
usea
request for
component
replaced
existing
functionality
anyafor
time
specific
that action
action
BroadcastReceivers
Services
ContentProviders
Practical matters
Packaging
Resources
res/layout: declarative layout files
res/drawable: intended for drawing
res/anim: bitmaps, animations for transitions
res/values: externalized values for things like
strings, colors, styles, etc.
Assets
Similar to Resources
Differences:
Read-only
InputStream access to assets
Any kind of file
Be mindful of file sizes
Application Lifecycle
Toolchain
Emulator
QEMU-based ARM emulator
runs same system image as
a device
Eclipse Plugin
Project template
Debugging
Call stack
Examine variables
Eclipse demo
Q &A