0% found this document useful (0 votes)
39 views31 pages

Android Application Development

This document provides an overview of mobile application development using the Android platform. It discusses the course objectives which include an introduction to Android architecture, application building blocks, and development tools. Key aspects of the Android platform are explained, including the open source software stack, Dalvik virtual machine, application framework, and building blocks like activities, services, and content providers. Development tools like Eclipse and the Android SDK are introduced. Example applications and the application lifecycle are also summarized.

Uploaded by

abrhame30
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views31 pages

Android Application Development

This document provides an overview of mobile application development using the Android platform. It discusses the course objectives which include an introduction to Android architecture, application building blocks, and development tools. Key aspects of the Android platform are explained, including the open source software stack, Dalvik virtual machine, application framework, and building blocks like activities, services, and content providers. Development tools like Eclipse and the Android SDK are introduced. Example applications and the application lifecycle are also summarized.

Uploaded by

abrhame30
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 31

Mobile Application Development

Course Objectives
• Mobile Application Development (MAD)
• Intro to Android platform
• Platform architecture
• Application building blocks
• Development tools
• Textbook: Hello, Android
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
• 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

• Built in and user apps


• Can replace built in apps
Application Building Blocks
• Activity
• IntentReceiver
• Service
• ContentProvider
Activities
• Typically correspond to one UI screen
• But, they can:
– Be faceless
– Be in a floating window
– Return a value
IntentReceivers
• Components that respond to broadcast
‘Intents’
• Way to respond to external notification or
alarms
• Apps can invent and broadcast their own
Intent
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
Intents
Home System picks best
component for that action Photo
Gallery
Contacts

“Pick photo”
GMail

Client component makes a


Chat request for a specific
action
Blogger
Blogger
New components can use
existing functionality
Services
• Faceless components that run in the
background
– E.g. music player, network download etc…
Content Providers
• Enables sharing of data across
applications
– E.g. address book, photo gallery
• Provides uniform APIs for:
– querying
– delete, update and insert.
Development Tools

• Eclipse
• Android SDK 2.0 or higher
developer.android.com
Devices
Hello World
• A great starting point:
http://developer.android.com/guide/tutorial
s/hello-world.html
• Generating UIs
– Views – building blocks
– E.g. TextView, EditText, Button
– Placed into Layouts
– E.g. LinearLayout, TableLayout,
AbsoluteLayout
Application Lifecycle
• Application run in their own processes
• Processes are started and stopped as
needed to run an application's
components
• Processes may be killed to reclaim
resources
Lifecycle
• System • Home • Mail • Browser
Process

Home

• Map
Contacts

GMail
Location Manager
(Extensible Messaging and Presence
Protocol)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

• Consistent notification presentation


Views
Views
Location Manager
End of Lecture
• First task, install the SDK and Eclipse for
instructions detailed in Assignment #1

You might also like