SlideShare une entreprise Scribd logo
Introduction à Android

Informatique mobile, ubiquitaire et diffuse
Ma formation, mon expérience, mon
entreprise

Informatique mobile, ubiquitaire et diffuse

2
Présentation
●

Aurélien Guillard
●

Développeur Mobile multiplateforme
–
–

●

(Android, iPhone, Blackberry)
Lead Developer Android

Contact
●

aurelien.guillard@gmail.com
aurelien@clicmobile.com

●

http://www.aurelienguillard.com

●

Twitter : @rorolepro (oui, je sais, ce pseudo est ridicule)
Informatique mobile, ubiquitaire et diffuse

3
Formation
●

2010 : Ingénieur Réseau et Multimédia
●

●

2007 : DUT SRC
●

●

Ecole Supérieure d'Ingénieurs de Luminy

IUT de Laval

2005 : BAC S option SI
●

Lycée d'une petite ville près de Nantes
Informatique mobile, ubiquitaire et diffuse

4
Expériences professionnelles
●

Actuellement : Clicmobile (Android, iPhone, Blackberry)

●

2009 : Latin 3G S.A. de C.V. (Android)

●

2008 : GAROS (web)

●

2007 : e-doceo (ActionScript)

●

2006 : SA2EI (web)
Informatique mobile, ubiquitaire et diffuse

5
Clicmobile
●

Conseils stratégiques

●

Création et développement

●

Marketing et promotion

●

Statistiques d'usage

Informatique mobile, ubiquitaire et diffuse

6
Clicmobile web framework
●

Genération de backoffice d'applications

●

Génération de WebServices
●

JSON

●

XML

●

PLIST

Informatique mobile, ubiquitaire et diffuse

7
Clicmobile Analytics

Informatique mobile, ubiquitaire et diffuse

8
Le métier au quotidien
●

Estimation

●

Conception et architecture

●

Développement applications et librairies

●

Tests

●

Corrections et améliorations

●

Veille technologique

Informatique mobile, ubiquitaire et diffuse

9
Android ?

Informatique mobile, ubiquitaire et diffuse

10
Android
●

Startup rachetée par Google en 2007

●

OS open-source
●
●

●

Terminaux mobiles
Systèmes embarqués

Développement
●

Java/XML (SDK)

●

C (NDK)

Informatique mobile, ubiquitaire et diffuse

11
Une hausse constante

Informatique mobile, ubiquitaire et diffuse

12
Les versions
●

3.0 : Honeycomb

●

2.3 : Gingerbread

●

2.2 : FroYo

●

2.1 : Eclair

●

1.6 : Donut

●

1.5 : Cupcake

Data collected during two weeks ending on January 4, 2011

Informatique mobile, ubiquitaire et diffuse

13
Les terminaux
Un parc très varié : smartphones, tablettes, tv, autoradio...

Sony
Xperia X10 Mini
240x320

HTC
Magic
320x480

Motorola
Milestone
480x854

Informatique mobile, ubiquitaire et diffuse

Samsung
Galaxy Tab
600x1024

14
Boutons physiques

Back

Menu

Informatique mobile, ubiquitaire et diffuse

Home

Search (optionnel)

15
Android != iPhone

Tentative de
reproduction de
"controllers" iPhone...

UINavigationBarController

UITabController

Informatique mobile, ubiquitaire et diffuse

16
Les éléments de UI (User Interface)

Informatique mobile, ubiquitaire et diffuse

17
ScrollView + Options Menu
TextView

ScrollView

Options Menu
(clic sur le bouton
physique "menu")

Informatique mobile, ubiquitaire et diffuse

18
ProgressDialog

STYLE_SPINNER

Informatique mobile, ubiquitaire et diffuse

19
Dialog

TextView
Custom dialog
EditText

Button

Informatique mobile, ubiquitaire et diffuse

20
ImageView
TextView

ImageView

TextView

Informatique mobile, ubiquitaire et diffuse

21
TabHost
TabWidget

FrameLayout

Informatique mobile, ubiquitaire et diffuse

ListView

22
MapView

Pas disponible
dans le framework
standard nécessite
la lib Google APIs

com.google.android.maps.MapView

Informatique mobile, ubiquitaire et diffuse

23
Outils de développement

Informatique mobile, ubiquitaire et diffuse

24
Outils de développement
●

Eclipse
●

●

ADT plugin
●

●

https://dl-ssl.google.com/android/eclipse/

Android SDK (Windows, Linux, MacOS)
●

●

http://www.eclipse.org/downloads/

http://developer.android.com/sdk/

Téléchargement des plateformes depuis le
SDK and AVD Manager
Informatique mobile, ubiquitaire et diffuse

25
SDK and AVD Manager

Informatique mobile, ubiquitaire et diffuse

26
Création d'émulateurs

Informatique mobile, ubiquitaire et diffuse

27
DDMS

Informatique mobile, ubiquitaire et diffuse

28
Composition d'un projet Android

Informatique mobile, ubiquitaire et diffuse

29
Arborescence d'un projet
Java

Generated java files
Framework

Images

XML

Informatique mobile, ubiquitaire et diffuse

Strings
Manifest

30
Composants d'application
●

Activities

●

Services

●

Broadcast receivers

●

Content providers

Informatique mobile, ubiquitaire et diffuse

31
Arborescence de l'application
PhotosetListActivity

ContainerActivity

PhotosListActivity

PhotosMapActivity

PhotosActivity

Informatique mobile, ubiquitaire et diffuse

32
Intents
●

●

●

Système de messages pour exécuter un
composant (activity, service, broadcast
receiver)
Possibilité d'exécuter des composants d'une
même application OU/ET d'applications
différentes
Android tente de répondre le mieux à chaque
Intent (explicit/implicit intents)

Informatique mobile, ubiquitaire et diffuse

33
Activity life cycle

Informatique mobile, ubiquitaire et diffuse

34
Manifest.xml
Numéros de versions

Intent filters
Activities

Permissions
Plateforme cible

Informatique mobile, ubiquitaire et diffuse

35
Création des vues

Informatique mobile, ubiquitaire et diffuse

36
Une vue est décrite en XML

Informatique mobile, ubiquitaire et diffuse

37
Assigner un layout XML à une
Activity

Generated Class File

Type de ressource

Informatique mobile, ubiquitaire et diffuse

Nom de la ressource

38
XML Inflate

Informatique mobile, ubiquitaire et diffuse

39
Gestion des ressources

Informatique mobile, ubiquitaire et diffuse

40
Types de ressource
●

anim/

●

color/

●

drawable/

●

layout/

●

menu/

●

raw/

●

values/

●

xml/
Informatique mobile, ubiquitaire et diffuse

41
Drawable auto-scaling
icon
72x72

icon
36x36

Même image, même nom de
fichier, mais dans des dossiers
différents, chacun lié à une
densité différente
(low, medium, high)

icon
48x48

Informatique mobile, ubiquitaire et diffuse

42
Resource qualifiers
●

MCC and MNC : mcc310 mcc310-mnc004 mcc208-mnc00 etc.

●

Langage and region : en fr en-rUS fr-rFR fr-rCA etc.

●

Screen size : small normal large xlarge

●

Screen aspect : long notlong

●

Screen orientation : port land

●

Dock mode : car desk

●

Night mode : night notnight

●

Screen pixel density : ldpi mdpi hdpi xhdpi nodpi

●

Touchscreen type : notouch stylus finger

●

Keyboard availability : keysexposed keyssoft

●

Primary text input method : nokeys qwerty 12key

●

Navigation key availability : navexposed navhidden

●

Primary non-touch navigation method : nonav dpad trackball wheel

●

System version (API level) : v3 v4 v7 etc.
Informatique mobile, ubiquitaire et diffuse

43
Connexion à un WebService

Informatique mobile, ubiquitaire et diffuse

44
Flickr API
●

Formats de requête
●

●

Formats de réponse
●

●

REST, XML-RPC, SOAP

REST, XML-RPC, SOAP, JSON, PHP

Flickr App Garden
●

http://www.flickr.com/services/api/
Informatique mobile, ubiquitaire et diffuse

45
Couches applicatives
savePhotos(id)

Activity

getPhotos(id)

ContentManager

Java object

flickr.photosets.getPhotos

APIManager

String

Informatique mobile, ubiquitaire et diffuse

WebService

File response

46
Réponse API Flickr

Informatique mobile, ubiquitaire et diffuse

47
APIManager
Connexion à l'API REST
● Appel non signé, sans jeton d'utilisateur
● Méthode GET
●

Informatique mobile, ubiquitaire et diffuse

48
ContentManager

Informatique mobile, ubiquitaire et diffuse

49
Sauvegarde des données

Informatique mobile, ubiquitaire et diffuse

50
Shared Preferences
●

Accès : privé

●

Type : primitif (boolean, float, int, long, string)

●

Format : clé/valeur

●

Utilisé pour sauvegarder des paramètres

Informatique mobile, ubiquitaire et diffuse

51
Internal Storage
●

Accès : privé

●

Format : fichier

Informatique mobile, ubiquitaire et diffuse

52
External Storage
●

Accès : public

●

Format : fichier

●

●

Nécessite des vérifications : média monté
sur une machine, absent, accessible
qu'en lecteur, etc.
Sauvegarder ses fichiers dans :
/Android/data/<package_name>/files/

Informatique mobile, ubiquitaire et diffuse

53
Databases
●

Accès : privé

●

Format : données structurées

●

Type : SQLite

Informatique mobile, ubiquitaire et diffuse

54
SQLiteOpenHelper

Informatique mobile, ubiquitaire et diffuse

55
Android Market

Informatique mobile, ubiquitaire et diffuse

56
Client Android Market

Informatique mobile, ubiquitaire et diffuse

57
Client Android Market

Une seule page par application
Promotional Graphic (or icon)
Description (4000 chars)
Screenshots (8)
Avis
Applications semblables
Informations sur le développeur
Contenu Android Market

Informatique mobile, ubiquitaire et diffuse

58
Android Market Admin
Peu de statistiques...

Informatique mobile, ubiquitaire et diffuse

59
Upload Assets

Android Market web ?
Google TV ?

Informatique mobile, ubiquitaire et diffuse

60
Listing details

Informatique mobile, ubiquitaire et diffuse

61
Publishing options
« If you want porn, get an Android » – Steve Jobs

Informatique mobile, ubiquitaire et diffuse

62
Liens

Informatique mobile, ubiquitaire et diffuse

63
Documentation et examples
●

http://developer.android.com

●

http://code.google.com/p/android-cookbook/

●

http://code.google.com/p/apps-for-android/

●

http://www.androidsnippets.org

Informatique mobile, ubiquitaire et diffuse

64
Actualités
●

http://www.frandroid.com

●

http://www.pointgphone.com

Informatique mobile, ubiquitaire et diffuse

65
Aide
●

http://forum.xda-developers.com

●

http://www.anddev.org

●

http://forum.frandroid.com

●

https://groups.google.com/group/paris-android-ug

Informatique mobile, ubiquitaire et diffuse

66
Utilitaires
●

http://code.google.com/p/android-ui-utils/

●

http://android-ui-utils.googlecode.com/hg/asset-stud

●

http://www.droidthing.com

Informatique mobile, ubiquitaire et diffuse

67
Livres

Informatique mobile, ubiquitaire et diffuse

68
Merci de votre attention !
J'ai hâte de tester vos applications;)

Informatique mobile, ubiquitaire et diffuse

69

Contenu connexe

Similaire à Introduction à Android - Janvier 2011

android.pdf
android.pdfandroid.pdf
android.pdf
med_univ78
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
Franck SIMON
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
RihabBENLAMINE
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
med_univ78
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
med_univ78
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
Calculus System SARL
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
Abdoulaye Dieng
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
Haifa Chorfi
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
Olivier Le Goaër
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptx
YaminaGh1
 
meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022
Frederic Leger
 
Cv khouloud dhouib
Cv khouloud dhouibCv khouloud dhouib
Cv khouloud dhouib
khoulouddhouib
 
chapitres 3 technologies de communication de l'IoT partie II.pptx
chapitres  3 technologies de communication de l'IoT partie II.pptxchapitres  3 technologies de communication de l'IoT partie II.pptx
chapitres 3 technologies de communication de l'IoT partie II.pptx
merazgaammar2
 
Composants d-une application Android.ppt
Composants d-une application Android.pptComposants d-une application Android.ppt
Composants d-une application Android.ppt
mahamaalej3
 
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Microsoft Ideas
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer Talks
Jean-Sébastien Dupuy
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
Calculus System SARL
 
Applications mobiles - quels choix ?
Applications mobiles  - quels choix ?Applications mobiles  - quels choix ?
Applications mobiles - quels choix ?
odemarez
 
Editeurs de logiciels, innovez avec l'Intelligence Artificielle
Editeurs de logiciels, innovez avec l'Intelligence ArtificielleEditeurs de logiciels, innovez avec l'Intelligence Artificielle
Editeurs de logiciels, innovez avec l'Intelligence Artificielle
Guillaume Renaud
 

Similaire à Introduction à Android - Janvier 2011 (20)

android.pdf
android.pdfandroid.pdf
android.pdf
 
Développement Android
Développement AndroidDéveloppement Android
Développement Android
 
Environnement Android.pdf
Environnement Android.pdfEnvironnement Android.pdf
Environnement Android.pdf
 
cours-android.pdf
cours-android.pdfcours-android.pdf
cours-android.pdf
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
20140424 MeetUp Nuxeo iOS
20140424 MeetUp Nuxeo iOS20140424 MeetUp Nuxeo iOS
20140424 MeetUp Nuxeo iOS
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptx
 
meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022
 
Cv khouloud dhouib
Cv khouloud dhouibCv khouloud dhouib
Cv khouloud dhouib
 
chapitres 3 technologies de communication de l'IoT partie II.pptx
chapitres  3 technologies de communication de l'IoT partie II.pptxchapitres  3 technologies de communication de l'IoT partie II.pptx
chapitres 3 technologies de communication de l'IoT partie II.pptx
 
Composants d-une application Android.ppt
Composants d-une application Android.pptComposants d-une application Android.ppt
Composants d-une application Android.ppt
 
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
 
Windows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer TalksWindows Phone 8 for Business - Developer Talks
Windows Phone 8 for Business - Developer Talks
 
Calculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stackCalculus System Academy:Devenez un développeur Full stack
Calculus System Academy:Devenez un développeur Full stack
 
Applications mobiles - quels choix ?
Applications mobiles  - quels choix ?Applications mobiles  - quels choix ?
Applications mobiles - quels choix ?
 
Editeurs de logiciels, innovez avec l'Intelligence Artificielle
Editeurs de logiciels, innovez avec l'Intelligence ArtificielleEditeurs de logiciels, innovez avec l'Intelligence Artificielle
Editeurs de logiciels, innovez avec l'Intelligence Artificielle
 

Dernier

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 

Dernier (6)

Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 

Introduction à Android - Janvier 2011