Introduction à Android - Janvier 2011

Aurélien Guillard
Aurélien GuillardAndroid Lead Developper à Karos
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
1 sur 69

Recommandé

Présentation et Initiative pour le développement Android par
Présentation et Initiative pour le développement AndroidPrésentation et Initiative pour le développement Android
Présentation et Initiative pour le développement Androidyounes ben tlili
1.7K vues37 diapositives
Formation Android (Initiation à la programmation sous Android) par
Formation Android (Initiation à la programmation sous Android)Formation Android (Initiation à la programmation sous Android)
Formation Android (Initiation à la programmation sous Android)G²FOSS ENIT
1.5K vues38 diapositives
Tech Conf n°1 - Développement natif d'applications mobiles par
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesMichael Laguerre
533 vues51 diapositives
Tech conf1 développement_natif_applications_mobiles par
Tech conf1 développement_natif_applications_mobilesTech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobilesTelecomValley
817 vues51 diapositives
Présentation de l'offre IAM de LINAGORA LinID par
Présentation de l'offre IAM de LINAGORA LinIDPrésentation de l'offre IAM de LINAGORA LinID
Présentation de l'offre IAM de LINAGORA LinIDMichel-Marie Maudet
2K vues82 diapositives
Alphorm.com Formation Windev Mobile 19, Android par
Alphorm.com Formation Windev Mobile 19, AndroidAlphorm.com Formation Windev Mobile 19, Android
Alphorm.com Formation Windev Mobile 19, AndroidAlphorm
30.5K vues160 diapositives

Contenu connexe

Similaire à Introduction à Android - Janvier 2011

android.pdf par
android.pdfandroid.pdf
android.pdfmed_univ78
6 vues78 diapositives
Développement Android par
Développement AndroidDéveloppement Android
Développement AndroidFranck SIMON
27.7K vues528 diapositives
cours-android.pdf par
cours-android.pdfcours-android.pdf
cours-android.pdfmed_univ78
8 vues101 diapositives
Introduction_Android_-_Complet.pdf par
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfmed_univ78
8 vues140 diapositives
Calculus System Academy:Devenez un développeur Full stack par
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 stackCalculus System SARL
16 vues5 diapositives
Panorama des Technologies mobiles par
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobilesAbdoulaye Dieng
91 vues19 diapositives

Similaire à Introduction à Android - Janvier 2011(20)

Développement Android par Franck SIMON
Développement AndroidDéveloppement Android
Développement Android
Franck SIMON27.7K vues
Introduction_Android_-_Complet.pdf par med_univ78
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
med_univ788 vues
Ch1. Développement mobile par Haifa Chorfi
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
Haifa Chorfi160 vues
cours Android.pptx par YaminaGh1
cours Android.pptxcours Android.pptx
cours Android.pptx
YaminaGh1126 vues
meetup devops aix-marseille 27/10/2022 par Frederic Leger
meetup devops aix-marseille 27/10/2022meetup devops aix-marseille 27/10/2022
meetup devops aix-marseille 27/10/2022
Frederic Leger43 vues
Déploiment des tablettes et gestion du parc informatique dans les établisseme... par Microsoft Ideas
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 Ideas2.3K vues
Applications mobiles - quels choix ? par odemarez
Applications mobiles  - quels choix ?Applications mobiles  - quels choix ?
Applications mobiles - quels choix ?
odemarez1.1K vues
Editeurs de logiciels, innovez avec l'Intelligence Artificielle par Guillaume Renaud
Editeurs de logiciels, innovez avec l'Intelligence ArtificielleEditeurs de logiciels, innovez avec l'Intelligence Artificielle
Editeurs de logiciels, innovez avec l'Intelligence Artificielle
Guillaume Renaud241 vues
Andmo formation-mono-for-android-applications-android-avec-csharp-net par CERTyou Formation
Andmo formation-mono-for-android-applications-android-avec-csharp-netAndmo formation-mono-for-android-applications-android-avec-csharp-net
Andmo formation-mono-for-android-applications-android-avec-csharp-net

Introduction à Android - Janvier 2011