• Aucun résultat trouvé

Application DevelopmentA Tutorial Driven Course Android

N/A
N/A
Protected

Academic year: 2022

Partager "Application DevelopmentA Tutorial Driven Course Android"

Copied!
36
0
0

Texte intégral

(1)

Android

Application Development A Tutorial Driven Course

(2)

Java

• Basic Java programming

– Exceptions

– Inner Class, Interface

• Advanced topics we will touch:

– Java IO

– Java Thread – Java Socket

(3)

Android Basics Android Basics

Credit goes to Google!

(4)

Course Objectives

• Mobile Application Development (MAD)

• Intro to Android platform

• Platform architecture

• Application building blocks

• Development tools

• Textbook: Hello, Android

(5)

Few reasons to go MAD…

• Smart Phones

– Internet access anywhere – Social networking

• Millions of mobile users

• Open standards

(6)

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

(7)
(8)

Linux Kernel

• Works as a HAL

• Device drivers

• Memory management

• Process management

• Networking

(9)

Libraries

• C/C++ libraries

• Interface through Java

• Surface manager – Handling UI Windows

• 2D and 3D graphics

• Media codecs, SQLite, Browser engine

(10)

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…

(11)

Application Framework

• API interface

• Activity manager – manages application life cycle.

(12)

Applications

• Built in and user apps

• Can replace built in apps

(13)

Course Objectives

• Mobile Application Development (MAD)

• Intro to Android platform

• Platform architecture

Application building blocks

• Development tools

• Textbook: Hello, Android

(14)

Application Building Blocks

• Activity

• IntentReceiver

• Service

• ContentProvider

(15)

Activities

• Typically correspond to one UI screen

• But, they can:

– Be faceless

– Be in a floating window – Return a value

(16)

IntentReceivers

• Components that respond to broadcast

‘Intents’

• Way to respond to external notification or alarms

• Apps can invent and broadcast their own Intent

(17)

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

(18)

Intents

GMail Contacts

Home

Blogger Chat

Client component makes a request for a specific

action

“Pick photo”

System picks best

component for that action

New components can use existing functionality

Blogger

Photo Gallery

(19)

Services

• Faceless components that run in the background

– E.g. music player, network download etc…

(20)

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

(21)

Course Objectives

• Mobile Application Development (MAD)

• Intro to Android platform

• Platform architecture

• Application building blocks

Development tools

• Textbook: Hello, Android

(22)

Development Tools

• Eclipse

• Android SDK 2.0 or higher

developer.android.com

(23)

The Emulator

• QEMU-based ARM emulator

• Runs the same image as the device

• Limitations:

– No Camera support

(24)

Devices

(25)

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

(26)

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

(27)
(28)

Lifecycle

• System Process

GMail Contacts

Home

• Home • Mail • Browser

• Map

(29)

Location Manager

(30)

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

(31)

Notification Manager

(32)

Notification Manager

• How background app interact with users

• Consistent notification presentation

(33)

Views

(34)

Views

(35)

Location Manager

(36)

End of Lecture

• First task, install the SDK and Eclipse for instructions detailed in Assignment #1

• Will be performed in class as well.

Références

Documents relatifs

articles were freely available from 229 unique sources but that academic libraries provide over half of this content, possibly either. through subject or

Scale up primary prevention to act on environmental determinants as an integral part of disease programmes, including through safely managed water and sanitation,

With the digitalization of more and more aspects of life, the resulting flood of "big data" has enticed entirely different bottom-up development strategies emphasizing

We stop at a scale relevant to the phenomena that we want, or that we can, study, and make a provisional sharing, between what does not move too much, we build

Separate regressions of treatment on the outcome using the reduced sample size for each interaction term confirm that differences in the coefficient on treatment are not due to

The letter was from a law firm in New York, and the attorney’s name was Thomas Campbell who was writing a letter on behalf of the artist Mary Ellen Carroll and it was

We argued that the task of ontology comparison in terms of local coverage is difficult if the ontologies use different modeling styles.. We proposed that using a more general

Although the COVID-19 pandemic has placed an immense burden on health systems, including frontline health workers, there are things that can help mitigate the effects of violence