Android Application Development
Android Application Development
Application Development
Introduction to Android
• Open software platform for mobile
development
• A complete stack – OS, Middleware,
Applications
• An Open Handset Alliance (OHA) project
• Powered by Linux operating system
• Fast application development in Java
• Open source under the Apache 2 license
Linux Kernel
• Works as a HAL
• Device drivers
• Memory management
• Process management
• Networking
Libraries
• C/C++ libraries
• Interface through Java
• Surface manager – Handling UI Windows
• 2D and 3D graphics
• Media codecs, SQLite, Browser engine
Android Runtime
• Dalvik VM
– Dex files
– Compact and efficient than class files
– Limited memory and battery power
• Core Libraries
– Java 5 Std edition
– Collections, I/O etc…
Application Framework
• API interface
• Activity manager – manages application
life cycle.
Applications
“Pick photo”
GMail
• Eclipse
• Limitations:
– No Camera support
Devices
Application Lifecycle
• Application run in their own processes
(VM, PID)
• Processes are started and stopped as
needed to run an application's
components
• Processes may be killed to reclaim
resources
XMPP Services
• Allows any app to send device-to-device
messages to other android users
• Data Messages are Intents with
name/value pairs
• Works with any gmail account…
• Can also build servers to deliver server-to-
device messages
Notification Manager
Notification Manager
• How background app interact with users