+ All Categories
Home > Documents > Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Date post: 25-Dec-2015
Category:
Upload: marvin-whitehead
View: 216 times
Download: 0 times
Share this document with a friend
26
Mobile Application Mobile Application Development Development with ANDROID with ANDROID Tejas Lagvankar UMBC 29 April 2009
Transcript
Page 1: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Mobile Application Mobile Application DevelopmentDevelopment

with ANDROID with ANDROID

Tejas Lagvankar

UMBC29 April 2009

Page 2: Mobile Application 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

Page 3: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Few reasons to go MAD…

• Smart Phones– Internet access anywhere– Social networking

• Millions of mobile users

• Open standards

Page 4: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

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: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Page 6: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Linux Kernel

• Works as a HAL

• Device drivers

• Memory management

• Process management

• Networking

Page 7: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Libraries

• C/C++ libraries

• Interface through Java

• Surface manager – Handling UI Windows

• 2D and 3D graphics

• Media codecs, SQLite, Browser engine

Page 8: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

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: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Application Framework

• API interface

• Activity manager – manages application life cycle.

Page 10: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Applications

• Built in and user apps

• Can replace built in apps

Page 11: Mobile Application 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

Page 12: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Application Building Blocks

• Activity

• IntentReceiver

• Service

• ContentProvider

Page 13: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Activities

• Typically correspond to one UI screen

• But, they can:– Be faceless– Be in a floating window– Return a value

Page 14: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

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: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

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 IntentReceivers describe what Intents they can service

Page 16: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Intents

GMail

Contacts

Home

Blogger

Chat

Client component makes a request for a specific action

“Pick photo”

Picasa

System picks best component for that actionNew components can use existing functionalityBlogger

Photo Gallery

Page 17: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Services

• Faceless components that run in the background– E.g. music player, network download etc…

Page 18: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

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: Mobile Application 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

Page 20: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Development Tools

• Eclipse

• Android SDKdeveloper.android.com

Page 21: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

The Emulator

• QEMU-based ARM emulator• Runs the same image as the

device

• Limitations:– No Camera support

Page 22: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Devices

Page 23: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Hello World

• Generating UIs– Views – building blocks– E.g. TextView, EditText, Button– Placed into Layouts– E.g. LinearLayout, TableLayout,

AbsoluteLayout

Page 24: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

SAM Demo

Page 25: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

Interesting things to do

• Android is open source

• Opportunities for researchers

• Get the source, compile and update the device image

Page 26: Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.

References

• http://developer.android.com

• http://sites.google.com/site/io


Recommended