Outline
Introduction
Android Features
Android Architecture Anatomy of an Android Application Hello Android Life Cycle of an Android Application Future of Android
2
What is Android?
Android
Open, free software platform for mobile devices with a complete software stack
Industry can add proprietary functionality to their products without giving anything back to the platform Companies can remove functionality if they choose
Android
The first complete, open and free mobile platform Release in November 2007
Group of more that 30 technology and mobile companies developing Android Goal
Accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile experience
Mobile Operators
Open
Android is...
Allows access to core mobile device functionality through standard API calls
Example
Application can call core functionality such as making calls, sending text messages, using camera... Developers can create richer and more cohesive experiences for users
Since it's open source, it can be liberally extended as new technologies emerge
Consumers
Mobile Operators
Lower overall cost of handsets They will have complete flexibility to customize and differentiate their product lines More rapid innovation in handsets and services
Handset manufacturers
Lower software BOM (bill of material) costs Faster time-to-market for handset
10
Semiconductor companies
Semiconductor companies will need to access more sophisticated software that take advantage of the enhanced features (3D graphics, signal processor cores, dedicated blocks of multimedia acceleration etc)
An open platform will give support to these new peripherals in the platform and will allow semiconductor companies to give 3rd party developers access to these enhanced features in a timely manner
11
Software companies
Allow simplified integration of software components into a complete mobile platform More income for them
Handset manufacturers will invest in high value and differentiated software components since there are lower acquisition costs in the mobile platform
12
Developers
Able to innovate rapidly because they will have comprehensive API access to handset capabilities that are web-ready Increase productivity
Deeper understanding of the underlying platform will lead them to better optimize their applications
Distribution and commercialization of mobile applications will be less expensive and easier
13
Android does not differentiate between the phone's basic and third party applications
Example:
14
Information from the web can be combined with data on the phone
Example:
15
True device emulator and advanced debugging tools Useful libraries and tools
Example
Obtain location of the device Allow devices to communicate with one another
16
Android Emulator
http://www.google-phone.com/wp-content/uploads/2007/12/willcom_core_android_module_2.jpg
17
Android Features
Application framework
Integrated browser
Optimized graphics
powered by a custom 2D graphics library 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
18
Android Features
SQLite
Media support for common audio, video, and still image formats
GSM Telephony (hardware dependent) Bluetooth, EDGE, 3G, and WiFi (hardware dependent) Camera, GPS, compass, and accelerometer (hardware dependent)
19
Android Features
device emulator tools for debugging memory and performance profiling a plugin for the Eclipse IDE
20
Android Architecture
21
Linux Kernel
Android Architecture
Proven driver model and has existing drivers Has memory management, security management, networking, core operating system infrastructure, etc.
Libraries
Android Architecture
23
Libraries
Android Architecture
Responsible for composing different drawing surfaces (ex: diff. windows/applications/process all drawing at the same time) to the screen
Make up the core of the graphics library. OpenGL (3D graphics engine) SGL (2D graphics engine) Can combine 3D and 2D graphics in the same application
24
Libraries
Android Architecture
25
Libraries
Android Architecture
An open source browser engine. Used as the core of the browser which is the same browser powering Safari.
26
Android Runtime
Android Architecture
Android Runtime
Android Architecture
Core Library
28
Application Framework
Android Architecture
* XMPP: Extensible Messaging and Presence Protocol An open XML technology for real-time communication (instant messaging, shared editing, etc)
29
Application Framework
Android Architecture
Manages the lifecycle of applications and provides a common navigation backstack Keeps track what applications are installed in device Manages Windows Contains APIs used to build the phone application
30
Application Framework
Android Architecture
Allows applications to share data with other applications (ex: contact info is available to others) Used to store localized strings, bitmaps, layout file descriptions, etc. Contains all building blocks of the UI Provides support for location-based services*
* Support depends on the underlying device 31
Application Framework
Android Architecture
Allows applications to communicate between devices through GtalkService. GtalkService maintains a persistent socket connection, therefore the response time is faster than SMS.
32
Applications
Android Architecture
Core Applications
Email client
SMS program Calendar
All applications are written using the Java Programming Language
Maps
Browser Contacts
etc
33
Service
Content Provider
34
Activity
Anatomy of an Android Application
Activity
UI typically corresponding to one screen Move through screens by starting other activities Example
Email application has 3 major activity
List your mail Chosen individual mail message Compose screen
35
Intent Receiver
Anatomy of an Android Application
Intent Receiver
Responds to notifications or status changes Can wake up your process
36
Service
Anatomy of an Android Application
Service
Faceless task that runs in the background Example
Music player
Keeps playing even though you are navigating to other parts
37
Content Provider
Anatomy of an Android Application
Content Provider
Enables applications to share data Example
Any application can access the contacts database
38
Hello Android
A Peek at an Android App
39
Hello Android
A Peek at an Android App
40
Hello Android
A Peek at an Android App
41
Hello Android
A Peek at an Android App
Application Lifecycle
Benefits: security, protected memory, applications using CPU intensively won't block other activities
43
Application Lifecycle
Benefits: security, protected memory, applications using CPU intensively won't block other activities
44
Application Lifecycle
Benefits: security, protected memory, applications using CPU intensively won't block other activities
Processes are started and stopped as needed to run an application's components Processes may be killed to reclaim resources
It's my problem to launch/ kill processes, manage resources, saving states, etc.
45
Interesting APIs
46
http://venturebeat.com/2008/01/04/roundup-more-google-departures-the-future-of-android-and-more/
Charles Golvin While I believe the effort by the Open Handset Alliance will have a significant impact on the market, I think it will build slowly over time. Even if there is a tidal wave of new devices using the Android platform, they will still represent a relatively small portion of the overall market.
http://news.zdnet.co.uk/communications/0,1000000085,39290579,00.htm
Steve Balmer (CEO Microsoft) Google's efforts are still on paper right now it's hard to do a very clear comparison. In terms of openness and broad support, we've done very well with Windows mobile...etc. We'll have to see what Google does.
http://youtube.com/watch?v=zwIUEnXctuA
47
50
51
References
General Information
http://www.xmpp.org/
http://www.youtube.com/ (Androidology series)
Images
52