38
Initiation à la Prog. Sous Android (Session 1) [email protected]

Formation Android (Initiation à la programmation sous Android)

Embed Size (px)

Citation preview

Page 1: Formation Android (Initiation à la programmation sous Android)

Initiation à la Prog. Sous Android(Session 1)

[email protected]

Page 2: Formation Android (Initiation à la programmation sous Android)

Plan

Statistiques

Différences entre Mobile App, Mobile Site et Web App

Développement pour terminaux mobiles

Outils de développement pour Android

Android : Architecture générale

Premier Projet Android

Composants d'une application Android

Bonnes Pratiques

16 Mai 2015 [email protected] 2

Page 3: Formation Android (Initiation à la programmation sous Android)

Mobile Apps vs Web

16 Mai 2015 [email protected]

Page 4: Formation Android (Initiation à la programmation sous Android)

Vente des PCs VS Smartphones

16 Mai 2015 [email protected]

Page 5: Formation Android (Initiation à la programmation sous Android)

Vente des smartphones par OS

16 Mai 2015 [email protected]

Page 6: Formation Android (Initiation à la programmation sous Android)

Différences entre Mobile App, Mobile Site et Web App

Qu’est ce qu’une application mobile ?

Une application mobile est une application développée

spécifiquement pour une plate-forme.

• Par exemple: une application iPhone sera développée en utilisant un

langage de développement propre à Apple et disponible uniquement

sur l’App Store.

16 Mai 2015 [email protected]

Page 7: Formation Android (Initiation à la programmation sous Android)

Différences entre Mobile App, Mobile Site et Web App

Qu'est ce qu'une Web App ?

Une Web App est un site mobile enrichi.

L’ergonomie est de meilleure qualité afin de rivaliser avec celle

obtenue via les applications mobiles.

Les Web Apps sont encore très peu connues du grand public mais, ont

un potentiel de croissance intéressant, car elles permettent d’avoir une

application disponible sur plusieurs plates-formes.

16 Mai 2015 [email protected]

Page 8: Formation Android (Initiation à la programmation sous Android)

Différences entre Mobile App, Mobile Site et Web App

Qu'est ce qu'un Site Mobile ?

Un site mobile est un site internet qui est optimisé pour les

smartphones. Afin de consulter un site mobile, on doit être connecté à

l'internet et on y accède via le navigateur web du smartphone.

Le référencement est primordial, de la même manière qu'un site

web. Le langage de développement est également similaire à celui

utilisé pour développer un site internet.

16 Mai 2015 [email protected]

Page 9: Formation Android (Initiation à la programmation sous Android)

Pourquoi développer une application mobile ?

Pour les novices et passionné(e)s

• Maîtrise de nouveaux langages de programmation

• Développer des nouvelles compétences

• Développer sa propre application

• Obtenir une rémunération ponctuelle ou récurrente

16 Mai 2015 [email protected]

Page 10: Formation Android (Initiation à la programmation sous Android)

Pourquoi développer une application mobile ?

Pour les professionnels

• L’application augmente l’accessibilité au site

• L’application permet de générer du trafic

• Le marché est en pleine croissance

• Une application contribue à l’image de marque

16 Mai 2015 [email protected]

Page 11: Formation Android (Initiation à la programmation sous Android)

Comment réussir son application mobile ?

Les règles d’or à retenir :

• Définition de la cible marketing

• Définition du concept

• La richesse et l'intérêt du contenu

• Originalité de l'application

• Le côté addictif (pour les jeux)

• La force de la communauté, la sécurité, le confort d’utilisation.

16 Mai 2015 [email protected]

Page 12: Formation Android (Initiation à la programmation sous Android)

Développement pour terminaux mobiles

• Historiquement, développement en code C/C++ de bas niveau

oBesoin de comprendre et connaitre le HW

• J2ME

o JVM fournit une abstraction du HW

o (+) Développement en externe

o (–) Accès restreint au HW

16 Mai 2015 [email protected] 12

Page 13: Formation Android (Initiation à la programmation sous Android)

Développement pour terminaux mobiles : Android

• Android fait partie d’une nouvelle vague de système d’exploitation

conçus pour du HW plus performant

16 Mai 2015 [email protected] 13

Page 14: Formation Android (Initiation à la programmation sous Android)

Android déjà 8 ans !!

Annoncé officiellement le 5 novembre 2007

16 Mai 2015 [email protected]

Page 15: Formation Android (Initiation à la programmation sous Android)

Android EN QUELQUES MOTS

• Plate-forme complète Open Source pour appareils mobiles (Smartphones,

PDA, tablettes...)

o code source disponible : http://source.android.com/

o fork de la SDK sous licence : http://developer.android.com/sdk/terms.html

o Android n'est pas complètement libre (utilisation de bibliothèque propriétaire)

• Conçu par Android en 2003, une startup rachetée par Google en 2005, et

annoncé officiellement en 11/2007.

• Basé sur le noyau Linux

16 Mai 2015 [email protected]

Page 16: Formation Android (Initiation à la programmation sous Android)

Différentes versions d’Android

16 Mai 2015 [email protected]

Page 17: Formation Android (Initiation à la programmation sous Android)

Répartition des versions dans le marché

16 Mai 2015 [email protected]

Page 18: Formation Android (Initiation à la programmation sous Android)

Plate-forme de téléchargement

• Android Market (Play Store)

• Crée par Google depuis le 22 octobre 2008

• 1.43 Millions d’application en 2014

16 Mai 2015 [email protected]

Page 19: Formation Android (Initiation à la programmation sous Android)

Modèle économique

• $25 pour un compte développeur.

• Revenues d’applications payantes divisés :

• 70% au propriétaire

• 30% à Google.

• Les revenus redistribués via « Google Checkout ».

16 Mai 2015 [email protected]

Page 20: Formation Android (Initiation à la programmation sous Android)

Market Alternatifs

http://slideme.org/

http://f-droid.org/

http://yaam.mobi/

http://mobogenie.com/

16 Mai 2015 [email protected]

Page 21: Formation Android (Initiation à la programmation sous Android)

Outils de développement pour Android

• Android SDK o Google a fournit un kit de développement (SDK) gratuit qui permet de

développer des applications spécifiques de la téléphonie mobile à mettre en œuvre sur la plate-forme.

• Android Studioo Environnement de développement intégré dédié au développement des

applications Android, annoncé officiellement le 16 mai 2013 à la conférence Google I/O. Disponible gratuitement sous la licence Apache 2.0

16 Mai 2015 [email protected]

Page 22: Formation Android (Initiation à la programmation sous Android)

Autre IDE

16 Mai 2015 [email protected] 22

• Eclipse : libre, extensible, universel et polyvalent, permet de créer des projets de développement mettant en œuvre n'importe quel langage de programmation.

• IntelliJ IDEA : Apporte un support avancé pour la gestion de projet sous Android. Langage Java.

• MoSync : IDE basé sur Eclipse, permet de pouvoir gérer des projets sous différents OS Mobiles comme Android, iOS, BB. Langage C++,HTML 5 Javascript

• Titanium Studio : Basé sur Aptana (Eclipse), intègre facilement les bibliothèques JS, supporte le PHP et Ruby. Langage: JavaScript.

• Visual Studio : l’IDE populaire de Microsoft, supporte le développement des applications Android dès la version 2015. Langage : HTML5, JavaScript, C#.

Page 23: Formation Android (Initiation à la programmation sous Android)

Emulateurs pour Android

• Android Virtual Device (AVD)

o Emulateur basique, intégré avec le Android SDK. Son inconvénient majeur

est la rapidité de fonctionnement.

• Genymotion

o Emulateur Android très rapide et fluide, se fonctionne avec Virtual Box.

o Préférable et recommandé pour tester vos applications Android.

16 Mai 2015 [email protected]

Page 24: Formation Android (Initiation à la programmation sous Android)

JVM vs Dalvik VM

16 Mai 2015 [email protected] 24

Page 25: Formation Android (Initiation à la programmation sous Android)

Android : Architecture générale

16 Mai 2015 [email protected] 25

Page 26: Formation Android (Initiation à la programmation sous Android)

Premier Projet AndroidSuivez-moi… c’est du pratique !

Page 27: Formation Android (Initiation à la programmation sous Android)

Composants d'une application Android

• Activity

• Service

• Content Provider

• Intent

• Broadcast Receiver

• Notification

16 Mai 2015 [email protected] 27

Page 28: Formation Android (Initiation à la programmation sous Android)

Intent ?

16 Mai 2015 [email protected] 28

ActivityCorrespond à un écran

ServiceProcessus de fond

Broadcast ReceiverIntercepte les évènements

Content ProviderAccès aux données & res

Intent

Page 29: Formation Android (Initiation à la programmation sous Android)

Notifications ?

16 Mai 2015 [email protected] 29

Page 30: Formation Android (Initiation à la programmation sous Android)

Cycle de vie d’une Activity

16 Mai 2015 [email protected] 30

Source : http://developer.android.com/training/basics/activity-lifecycle/starting.html

Page 31: Formation Android (Initiation à la programmation sous Android)

Présentation des layouts

16 Mai 2015 [email protected] 31

Page 32: Formation Android (Initiation à la programmation sous Android)

LinearLayout

• android:orientation="vertical"

• android:orientation="horizontal"

16 Mai 2015 [email protected] 32

Page 33: Formation Android (Initiation à la programmation sous Android)

RelativeLayout

• android:layout_below="@id/label"

• android:layout_toRightOf="@id/btnLogin"

16 Mai 2015 [email protected] 33

Page 34: Formation Android (Initiation à la programmation sous Android)

Bonnes Pratiques (Best Practices)

• Utilisation de l'Action Bar

• Utilisation de la Navigation

• Utilisation des Notifications ( ne pas en abuser)

• Ajouter des animations

• Ajouter une SearchView si possible.

• Utilisation des Gestures

• Le Thread UI doit pouvoir répondre à tout moment

• Supporter les différentes tailles d'écrans

• Utilisation des tâches de fond (Service, Thread) pour les traitements lourds

• etc.

16 Mai 2015 [email protected] 34

All List at : http://developer.android.com/training/best-ux.html

Page 35: Formation Android (Initiation à la programmation sous Android)

Bonnes pratiques : Tailles des écrans

16 Mai 2015 [email protected] 35

Source : http://developer.android.com/design/style/iconography.html

Page 36: Formation Android (Initiation à la programmation sous Android)

Questions ?

Page 37: Formation Android (Initiation à la programmation sous Android)

Initiation à la Prog. Sous Android(Session 2)

100% Pratique … Essayer de me suivre

Page 38: Formation Android (Initiation à la programmation sous Android)

Initiation à la Prog. Sous Android(Session 3)

100% Pratique … Essayer de me suivre