------------
PAGE 1
------------
Android Presentation
By
Manish K Chauhan
manish. ieee@ gmail. com
Samsung India
------------
PAGE 2
------------
Agenda
• Mobile Application Development ( MAD)
• Intro to Android platform
• Platform architecture
• Application building blocks
• Development tools
• Hello Android Live Demo
------------
PAGE 3
------------
Few reasons to go MAD…
• Smart Phones
– Internet access anywhere
– Social networking
• Millions of mobile users
• Open standards
------------
PAGE 4
------------
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
------------
PAGE 5
------------
license
------------
PAGE 6
------------
Linux Kernel
• Works as a HAL
• Device drivers
• Memory management
• Process management
• Networking
------------
PAGE 7
------------
Libraries
• C/ C libraries
• Interface through Java
• Surface manager – Handling UI Windows
• 2D and 3D graphics
• Media codecs, SQLite, Browser engine
------------
PAGE 8
------------
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…
------------
PAGE 9
------------
Application Framework
• API interface
• Activity manager – manages application life cycle.
------------
PAGE 10
------------
Applications
• Built in and user apps
• Can replace built in apps
------------
PAGE 11
------------
Agenda
• Mobile Application Development ( MAD)
• Intro to Android platform
• Platform architecture
• Application building blocks
• Development tools
• Hello Android
------------
PAGE 12
------------
Application Building Blocks
• Activity
• IntentReceiver
• Service
• ContentProvider
------------
PAGE 13
------------
Activities
• Represents the presentation layer of an Android application, e. g. a screen which the user sees. An Android application can have several activities and it can be switched between them during runtime of the application. But, they can:
– Be faceless
– Be in a floating window
– Return a value
------------
PAGE 14
------------
IntentReceivers
• Components that respond to broadcast „ Intents.
• Way to respond to external notification or alarms
• Apps can invent and broadcast their own Intent
------------
PAGE 15
------------
Intents
• Think of Intents as a verb and object; a description of what you want done
– E. g. VIEW, CALL, PLAY etc..
• System matches Intent with Activity that can best provide the service
• Activities and Intent Receivers describe what Intents they can service
------------
PAGE 16
------------
Intents GMail Contacts Home
Blogger Chat Client component makes a request for a specific action “ Pick photo” Picasa System picks best component for that action New components can use existing functionality Blogger
Photo Gallery
------------
PAGE 17
------------
Services
• Faceless components that run in the background
– E. g. music player, network download etc…
------------
PAGE 18
------------
ContentProviders
• Enables sharing of data across applications
– E. g. address book, photo gallery
• Provides uniform APIs for:
– querying
– delete, update and insert.
• Content is represented by URI and MIME type
------------
PAGE 19
------------
Agenda
• Mobile Application Development ( MAD)
• Intro to Android platform
• Platform architecture
• Application building blocks
• Development tools
• Hello Android
------------
PAGE 20
------------
Development Tools
• Eclipse
• Android SDK 1.0- 2.0
developer. android. com
------------
PAGE 21
------------
The Emulator
• QEMU- based ARM emulator
• Runs the same image as the device
• Limitations:
– No Camera support http:// en. wikipedia. org/ wiki/ QEMU
------------
PAGE 22
------------
Devices
------------
PAGE 23
------------
Hello World
• http:// developer. android. com/ guide/ tutorials/ hello- world. html
• Generating UIs
– Views – building blocks
– E. g. TextView, EditText, Button
– Placed into Layouts
– E. g. LinearLayout, TableLayout, AbsoluteLayout
------------
PAGE 24
------------
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
------------
PAGE 25
------------
resources
------------
PAGE 26
------------
Location Manager
------------
PAGE 27
------------
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
------------
PAGE 28
------------
Notification Manager
------------
PAGE 29
------------
Notification Manager
• How background app interact with users
• Consistent notification presentation
------------
PAGE 30
------------
Views
------------
PAGE 31
------------
Views
------------
PAGE 32
------------
Location Manager
------------
PAGE 33
------------
References
• http:// developer. android. com/
Back to top of page