Nothing Special   »   [go: up one dir, main page]

Android Application Development

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 37

Android Application Development

Submitted to: Submitted by:


Name- Mayank Saini
course- BCA
A50504820006
ANDROID

Application Development

A Tutorial Driven Course


JAVA

• Basic Java programming


• Exceptions
• Inner Class, Interface
• Advanced topics we will touch:
• Java IO
• Java Thread
• Java Socket
ANDROID BASICS
CREDIT GOES TO GOOGLE!
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
• 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

• Built in and user apps


• Can replace built in apps
COURSE OBJECTIVES

• Mobile Application Development (MAD)


• Intro to Android platform
• Platform architecture
• Application building blocks
• Development tools
• Textbook: Hello, Android
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 IntentReceivers 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…
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
COURSE OBJECTIVES

• Mobile Application Development (MAD)


• Intro to Android platform
• Platform architecture
• Application building blocks
• Development tools
• Textbook: Hello, Android
DEVELOPMENT TOOLS

• Eclipse

• Android SDK 2.0 or higher


developer.android.com
THE EMULATOR

• QEMU-based ARM emulator


• Runs the same image as the
device

• Limitations:
– No Camera support
DEVICES
HELLO WORLD

• A great starting point:


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
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
LIFECYCLE
• System Process • Home • Mail • Browser

Home

• Map
Contacts

GMail
LOCATION MANAGER
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
THANK YOU

You might also like