Mobile Application Development With ANDROID
Mobile Application Development With ANDROID
Development
with ANDROID
Tejas Lagvankar
UMBC
29 April 2009
Agenda
• Mobile Application Development (MAD)
• Intro to Android platform
• Platform architecture
• Application building blocks
• Development tools
• Hello Android
• SAM
• Resources
Few reasons to go MAD…
• Smart Phones
– Internet access anywhere
– Social networking
• Millions of mobile users
• Open standards
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
Picasa
Photo
Gallery
Contacts
“Pick photo”
GMail
• Eclipse
• Android SDK
developer.android.com
The Emulator
• Limitations:
– No Camera support
Devices
Hello World
• Generating UIs
– Views – building blocks
– E.g. TextView, EditText, Button
– Placed into Layouts
– E.g. LinearLayout, TableLayout,
AbsoluteLayout
SAM Demo
Interesting things to do
• Android is open source
• Opportunities for researchers
• Get the source, compile and update the
device image
References
• http://developer.android.com
• http://sites.google.com/site/io