Diving into
Android Development
Linux based but
NOT a "Linux phone"
Application Development
multiple apps running at once
multiple instances of apps
user free to switch back and forth
background services
data sharing between apps
Android Provides:
Complete J2SE stack (not J2ME)
Classes for telephony, multimedia, location, ...
Google maps and webservices
Apache web client for rich HTTP transport
SQLLite Database
View - UI object which
draws itself on the screen
and provides user interaction
Activity - A collection of views which
make up "one focused endeavor the user
can undertake"
A list of contacts to select from
The intro screen of a video game
A note composition screen
Service - Process component which has
no interface and runs in the background
for an indefinite period of time
music player
location updater
Content Provider - Functionality exposed by an application
which makes a specific set of the app's data available to
other applications
Access to audio and video resources
Contact list and contact information
SearchRecentSuggestions
Intents - "A simple message object that represents the 'intention' of
doing something"
Basically, a message object, represented in URI form, describing an
operation to be performed
Application Components
Views
Activities
Services
Content Providers
Intents
DalvikVM is NOT a Java VM.
Compiled Java Classes are transformed
into .DEX classes to run on DalvikVM
"Software Stack for mobile devices
that includes an OS, middleware
and key applications"
Show a map
Select a contact
Get a thumbnail for an image
Search the web
Start your next activity
Henry Cipolla
Localytics
www.localytics.com
Yoni Samlan
Active Frequency
www.activefrequency.com
Challenges:
Cupcake
The current version of Android.
Added support for:
Homescreen Widgets
Stereo Bluetooth
Raw Audio / Video
API/OS targetting
AVDs
Donut
Improved AGPS
Support for HVGA/QVGA
CDMA
System-wide search
Eclair, Flan ...
Open GL ES 2.0
Flash?
Parting Advice
Test on a real device
Beware stale documentation
Understand the activity lifecycle
Part 1: Background
Henry Cipolla
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:38.899,-77.036"));More presentations by Henry Cipolla
Android Developer Presentation - BarcampBoston4
Henry Cipolla on
Introduction to Android for developers at BarcampBoston4.