formation android (initiation à la programmation sous android)

Post on 12-Aug-2015

287 Views

Category:

Technology

13 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Initiation à la Prog. Sous Android(Session 1)

med.hossam@gmail.com

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 med.hossam@gmail.com 2

Mobile Apps vs Web

16 Mai 2015 3med.hossam@gmail.com

Vente des PCs VS Smartphones

16 Mai 2015 4med.hossam@gmail.com

Vente des smartphones par OS

16 Mai 2015 5med.hossam@gmail.com

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 6med.hossam@gmail.com

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 7med.hossam@gmail.com

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 8med.hossam@gmail.com

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 9med.hossam@gmail.com

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 10med.hossam@gmail.com

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 11med.hossam@gmail.com

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 med.hossam@gmail.com 12

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 med.hossam@gmail.com 13

Android déjà 8 ans !!

Annoncé officiellement le 5 novembre 2007

16 Mai 2015 14med.hossam@gmail.com

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 15med.hossam@gmail.com

Différentes versions d’Android

16 Mai 2015 16med.hossam@gmail.com

Répartition des versions dans le marché

16 Mai 2015 17med.hossam@gmail.com

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 18med.hossam@gmail.com

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 19med.hossam@gmail.com

Market Alternatifs

http://slideme.org/

http://f-droid.org/

http://yaam.mobi/

http://mobogenie.com/

16 Mai 2015 20med.hossam@gmail.com

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 21med.hossam@gmail.com

Autre IDE

16 Mai 2015 med.hossam@gmail.com 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#.

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 23med.hossam@gmail.com

JVM vs Dalvik VM

16 Mai 2015 med.hossam@gmail.com 24

Android : Architecture générale

16 Mai 2015 med.hossam@gmail.com 25

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

Composants d'une application Android

• Activity

• Service

• Content Provider

• Intent

• Broadcast Receiver

• Notification

16 Mai 2015 med.hossam@gmail.com 27

Intent ?

16 Mai 2015 med.hossam@gmail.com 28

ActivityCorrespond à un écran

ServiceProcessus de fond

Broadcast ReceiverIntercepte les évènements

Content ProviderAccès aux données & res

Intent

Notifications ?

16 Mai 2015 med.hossam@gmail.com 29

Cycle de vie d’une Activity

16 Mai 2015 med.hossam@gmail.com 30

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

Présentation des layouts

16 Mai 2015 med.hossam@gmail.com 31

LinearLayout

• android:orientation="vertical"

• android:orientation="horizontal"

16 Mai 2015 med.hossam@gmail.com 32

RelativeLayout

• android:layout_below="@id/label"

• android:layout_toRightOf="@id/btnLogin"

16 Mai 2015 med.hossam@gmail.com 33

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 med.hossam@gmail.com 34

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

Bonnes pratiques : Tailles des écrans

16 Mai 2015 med.hossam@gmail.com 35

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

Questions ?

Initiation à la Prog. Sous Android(Session 2)

100% Pratique … Essayer de me suivre

Initiation à la Prog. Sous Android(Session 3)

100% Pratique … Essayer de me suivre

top related