intro android

33
Patrick Bashizi développeur Android

Upload: patrick-bashizi

Post on 26-May-2015

340 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Intro Android

Patrick Bashizidéveloppeur Android

Page 2: Intro Android

ANDROID, Kesako?OS de Google pour les terminaux

mobiles

Une startup de même nom rachetée par Google en 2005

Leader mondial des plateformes mobiles (janvier 2011)

Entre 300K and 400K terminaux sont actifs dans le monde

Page 3: Intro Android

GOOGLE ANDROID

Environs 150K application dans l’Android Market

Ouvert à plusieurs langages de programmation (Python, Java ,PHP, javascript)

Principal langage : JAVA !!

Page 4: Intro Android

Pourquoi Android?

Au cours des deux dernières années, la recherche mobile mondiale a augmenté de 5X

Page 5: Intro Android

Pourquoi Android?« Nous avons créé Android en réponse à

nos propres expériences de lancement d'applications mobiles.

Nous voulions nous assurer qu'il n'y avait pas de point central de défaillance, de sorte qu’aucun joueur de l'industrie puisse limiter ou contrôler les innovations de toute autre.

C'est pourquoi nous avons créé Android, et avons rendu son code source ouvert »

Page 6: Intro Android

Modèle économique

Le budget d’Android n’est pas basé sur les ventes.

Il est basé sur la visibilité, et sur l’attractivité par rapport au nombre d’utilisateurs attirés sur la plateforme

Page 7: Intro Android

Modèle économique

En se lançant dans la création d'une plate-forme mobile ouverte, Google a fait un pari audacieux:

Celui de s'en servir comme support pour ses activités publicitaires dans un nouveau contexte, celui de l' Internet mobile.

Page 8: Intro Android

Historique2005 :

Google Achete Android Inc.Les travaux sur Dalvik VM

débutent

Page 9: Intro Android

Historique2007

OHA annoncé (Open Hansdet Alliance)

Premier SDK

Page 10: Intro Android

Historique2008

T-Mobile G1 annoncéSDK 1.0 releasedAndroid devient open source

Page 11: Intro Android

Open Handset Alliance Sprint Nextel T-Mobile HTC Motorola Samsung Sony Ericsson Toshiba Vodafone Google Intel Texas

Instruments Acer Etc

Page 12: Intro Android

Versions d’Android 1.5 : Cupcake (Petit Gâteau - sortie en avril 2009, dernière

révision officielle en mai 2010)

1.6 : Donut (Beignet - sortie en septembre 2009, dernière révision officielle en mai 2010)

2.1 : Eclair (sortie en janvier 2010, dernière révision officielle en Mai 2010)

2.2 : FroYo (Frozen Yogourt / Yaourt glacé - sortie en mai 2010, dernière révision officielle en juillet 2010)

2.3 : Gingerbread (Pain d'épice - Version actuelle sortie le 6 décembre 2010)

3.0 : Honeycomb (Alvéoles à miel, début 2011)

Page 13: Intro Android

Android Features Application framework enabling reuse and replacement of

components

Dalvik virtual machine optimized for mobile devices

Integrated browser based on the open source WebKit engine

Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)

SQLite for structured data storage

Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

Page 14: Intro Android

Android™ Features

GSM Telephony (hardware dependent)

Bluetooth, EDGE, 3G, and WiFi (hardware dependent)

Camera, GPS, compass, and accelerometer (hardware dependent)

Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and plugins for IDE ’S

Page 15: Intro Android

Android Architecture

Page 16: Intro Android

Le RuntimeDalvik™ VM :Machine virtuelle d’ Android

Java bytecode.dex

Chaque application Android execute son propre processus, avec son instance de la machine virtuelle Dalvik.

Dalvik a été écrit de sorte que un terminal puisse executer des multiples VM efficacement.

Page 17: Intro Android

. Composants d’une application Android

Les cinq composantes majeures d’une application sont :

Intent Activity Broadcast Receiver Content Provider Service

Page 18: Intro Android

.Composants d’une application Android

Activity

Une classe par Activity Généralement le point d'entrée

d'une application Généralement une interface

graphique, un écran A un Cycle de vie

Page 19: Intro Android

Intent

Type d'action possible déclaré auprès du système

Indique le besoin ou le service offert

Page 20: Intro Android

Content Provider

Accès aux données partagées

Données internes ou externes à l'application

Encapsulation du schéma de la base

Page 21: Intro Android

Services

Composants sans interface graphique

Activité de longue durée

Démarrer par context.startService: interne à l'application

Démarrer par context.bindService: externe à l'application

Page 22: Intro Android

Broadcast Receiver

Réagit à des évènements externes

- Logiciel: Alarme, notifications...- Ex: batterie faible

- Matériel: Activation puce GPS, carte SD

Réveiller une application, afficher un message, lancer une activity.

Page 23: Intro Android

Composants d’une application Android

L'ensemble de ces composantes est décrit dans le fichier AndroidManifest.xml.

Les applications ont pour extension APK (Android Package)

Page 24: Intro Android

Etapes de développement d’une application Android

 Ecriture du code source :

on utilise en général un éditeur de code ou un IDE. Il y a deux pôles : le code source java et les interfaces XML.

Pour ce qui est des interfaces, elles peuvent être générées par un outil de design graphique du type WYSIWYG.

Ex: Droid Draw

Page 25: Intro Android

Etapes de développement d’une application Android

Compilation : Elle génère du byte code .class ou .jar ou

les deux.

Optimisation du byte code : elle conduit à la génération du fichier .dex de byte code grâce a la machine virtuelle Dalvik.

 Construction du package grâce à l’outil

apkbuilder qui en sortie nous donne un fichier .apk à installer dans le terminal ou l’émulateur.

Page 26: Intro Android
Page 27: Intro Android

Quelques outils indispensables

Page 28: Intro Android

Droid Draw (WYSIWYG)

Page 29: Intro Android

Dalvik Debug Monitor Service (DDMS)

Page 30: Intro Android

Emulateurs

Page 31: Intro Android

Android Virtual Devices (AVD)

Configurations pour émulateurs permettant de modéliser efficacement un terminal donné.

Dispose de:

- Hardware profile- Mapping to a system image

(Plateforme)- Autres options (EX: Sdcard)- Un espace de stockage dédié sur la

machine de développement

Page 32: Intro Android

IDE(s)ECLIPSE Android Development

Tools (ADT)

NETBEANS plugin for Android: (UNDROID)

Page 33: Intro Android

Q/A