La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Android Kévin Giroux.

Présentations similaires


Présentation au sujet: "Android Kévin Giroux."— Transcription de la présentation:

1 Android Kévin Giroux

2 Android ???? Historique OS mobile Anecdote :
La société Android est allée voir en premier Samsung, qui a renvoyé gentiment les représentants de la société Android. Google à par la suite racheté Android, et à lancer son propre OS mobile.

3 Evolution des versions :
Lollipop  3 novembre 2014

4 Répartition des versions Android

5 Android : Pourquoi ce choix ?
Android : AOSP Android Open Source Project Possibilité de modifier Android comme l’on veut. (Nombreuses ROM disponibles) Une large documentation Un store d’application le plus gros existant avec le Play Store Coût financier 25 € à vie (Pour la publication sur le PlayStore) (100 € par ans sur IOS) Développement possible depuis n’importe quelle machine MAC OS X, WINDOWS, LINUX, ANDROID (A contrario de IOS ou il est nécessaire d’avoir un MAC)

6 Comparaison : IOS +Application vérifié, et contenant moins de virus que les applications android -Prix d’une license (100€/ans) -Nécessaire d’avoir un MAC IDE : Xcode Langage : Objective C et Swift Android +Grande communauté d’utilisateurs et de développeur +Prix d’une license (25€/vie) - Compatibilité non assurés pour les anciennes versions IDE : Android Studio / Eclipse / NetBean Langage : HTML5/CSS3/JavaScript ou Java Windows Phone - Peu d’utilisateur - Compatible uniquement avec marque Lumia Ide : Visual Studio Langage : C#

7 IOS : Objectif C et Swift : exemple Hello World
#import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; // insert code here... World!"); [pool drain]; return 0; }

8 Java : Public class main(){ public static void main(String[] args){
System.out.print("Hello World !"); }

9 Windows Phone : C# using System; public class HelloWorld { public static int Main() Console.Write("Cyril n'a pas C#!\n"); Console.ReadKey(); //permet de voir l'affichage avant fermeture return 0; }

10 Android : Créer une application
HTML 5 / CSS 3 / JS + petit morceau de code java (Plus nécessaire depuis la MAJ de chrome) Intégralité en JAVA

11 Les prérequis

12 Les prérequis : Java : JDK (Java Developper Kit)
oads/index.html

13 Les prérequis : IDE Android Studio
er.android.com /sdk/installing/s tudio.html Si vous avez déjà utilisé Eclispe pour développer sur Android, continuez sur Eclispe, sinon utiliser Android Studio qui selon moi est plus pratique pour les corrections et mises en place d’interface. Eclipse droid.com/sdk/inde x.html

14 Rappel :Un langage de programmation : Java
Le Java est un langage de programmation développé par Oracle. Suite à cela Microsoft a lancé le C# pour concurrence ce langage. Java Multiplateforme Langage Objet Client Lourd N’a rien à voir avec le JavaScript

15 Un langage de programmation : Java
Multiplateforme Windows Mac Linux Android Langage Objet Création d’objet (Classe en leur donnant des propriétés) Client Lourd Nécessite une JVM N’a rien à voir avec le JavaScript Le JavaScript est un langage pour le Web et de Script

16 Les prérequis : JAVA Connaissance de Base d’un langage dit Objet. (C++, C# etc) Connaissance de la fabrication d’une Classe Une Classe c’est quoi ? Une Classe est un objet Il a des particularités propres (Attributs) <= Un attribut est une variable typée (int, String (chaine de caractères), booléen, double, float) Pour des raisons de sécurité on déclara toujours une variable comme « private ». Il existe 3 niveaux principaux d’accès : Private (Accessible uniquement depuis la classe) Protected (Accessible uniquement depuis le package) (<= Un package c’est un dossier qui va contenir tout les fichiers ayant les mêmes objectif <= qui vont gérer la même fonctionnalité) Public (Accessible depuis le programme entier) Il a des propriétés propres (Méthodes) <= Getter/Setter (permet de récupérer la valeur des attributs

17 Les prérequis : JAVA Héritage
Personne : Nom Prénom Age Nationalité Elève : Niveau Classe Classement : Prof Matière Salaire Développeur Langage Salaire

18 Les prérequis : JAVA Héritage
Personne : Nom Prénom Age Nationalité Employé: Salaire Localisation Elève : Niveau Classe Classement : Prof Matière Développeur Langage

19 Les prérequis : XML L’unique chose à connaitre sur le XML c’est qu’il s’agit d’un langage de balise. Avec le XML on peut stocker des données ou des informations afin par la suite des les parser. Parser : consiste à mettre en évidence la structure d'un texte Toute balises qui s’ouvre doit se fermer <toto> mes données </toto>

20 Un peu de vocabulaire

21 Une application Android :
Activité Context Interface Graphique Interface(s) Graphique(s) Activité Context : Informations sur l’état actuel de l’application (évènement, variable, méthode … etc)

22 Une application Android :
Activité Téléphonie (Invisible) Activité Musique (Invisible) Activité Visible ( Web) Une Activité Visible : Exemple Navigateur web

23 Cycle de vie d’une application

24 On crée l’interface On démarre les actions si premier lancement On redémarre les actions l’application avait été en état onPause() ou onStop() On ré-ouvre notre application Activité suspend les activités prenant de la RAM (GPS, Camera …etc) Activité supprimée par Android car besoin de RAM On détruit l’activité : l’application va s’arreter

25 Conclusion Une application Android :
Une succession d’activités qui vont « vivre » et « mourir » Une activité est généralement composé d’une interface Graphique Une activité est généralement composé d’un context Une application n’a pas un nombre d’activités limite mais votre appareil oui. Lors d’ouverture d’une nouvelle activité, la précédent va se mettre « en tache de fond » Il est possible de faire transité des informations d’une activité à l’autre

26 La partie Théorique et pratique

27 Préparation de notre ordinateur

28 Préparation de notre ordinateur
Installation de Java JDK twork/java/javase/downloads/i ndex-jsp html#javasejdk Ajout de variable Système Variables d’environnement Nouvelle Nom de la variable : JDK_HOME Valeur de la variable : Chemin vers le répertoire de Java (C:\Program Files (x86)\Java) Installation de Android Studio dk/index.html

29 Préparation de notre ordinateur
Création d’un projet : Fichier-> New Project

30 Préparation de notre ordinateur
Choix de la plateforme

31 Préparation de notre ordinateur
Choix la première activité

32 Préparation de notre ordinateur
Choix la première activité

33 Préparation de notre ordinateur
Choix la première activité Layout Context Activité

34 Félicitation : Vous venez de créer votre première application

35 Configuration de l’émulateur
Lors de l’installation de Android Studio celui-ci à peut être déjà crée un émulateur. Voici la procédure pour en créer un. Choisir une version Android Créer une machine La lancer pour vérifier quelle fonctionne bien

36 Configuration de l’émulateur
Choix de la version : Lançons SDK (Software Developpement Kit) Manager La liste des versions est ici

37 Configuration de l’émulateur
Création de la machine virtuel Lançons le AVD (Android Virtual Manager) Vos appareils virtuels Création ici

38 Configuration de l’émulateur
Création de la machine virtuel Choix du HardWare Matériel déjà existant

39 Configuration de l’émulateur
Création de la machine virtuel Choix du Software

40 Configuration de l’émulateur
Création de la machine virtuel Derniers réglages

41 Configuration de votre appareil Android
2°) Tapoter sur le numéro de version 1°)

42 Configuration de votre appareil Android
3°) Activation du Débogage USB

43 Les prérequis : IDE Il nécessaire d’avoir un terminal Android pour pouvoir tester son application Si vous avez un terminal Android Activation du mode développeur : Tappoter sur le numéro du Build (Paramètre -> A propos du Téléphone) Un nouveau menu est disponible (Paramètre -> Options pour les développeurs) Activer le mode Débogage USB Brancher votre terminal Cela dépend du modèle Soit en mode PTP (PHOTO dans les paramètres USB) Soit en mode MTP (Multimedia dans les paramètres USB) Sinon utiliser un émulateur android 2°)Création d’un appareil factice 1°) Téléchargement des images Android

44 LET’S GO !!

45 Android : Créer une application avec JAVA(1)
Le code JAVA : Pour créer une application Android : Activité Classes Java Layouts en XML Principe : Le code java va charger le fichier XML ainsi que les éléments déclarées à l’intérieur. Il en reste plus qu’a écrire les interactions entre les éléments et le programme Une application est composé d’activités qui vont être des éléments avec lequel l’utilisateur va interagir. Une classe est un objet qui va vous permettre de faire des actions en « background ».

46 Une déclaration dans la manifest
Créer une activité Un layout Un code java Une déclaration dans la manifest

47 Créer une activité Une déclaration dans la AndroidManifest
Il s’agit d’un fichier XML qui va contenir le nom de vos activités, ainsi que d’autres informations L’orientation de votre écran Le comportement de votre écran lors de l’ouverture du clavier Les services que l’on va lui donner Les autorisations nécessaires pour les utilisations de fonctionnalités (Internet, Lecture écriture de fichier … etc?? Le logo de votre application Le numéro de version Le thème de votre application

48 Un layout : exemple Hello world

49 Android : Créer une application (1)
Le Hello world (Layout) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent«  android:orientation="vertical"> <TextView android:layout_height="match_parent" android:gravity="center" android:textSize="15sp" android:text="1Hello world" /> </LinearLayout>

50 Le Hello world (Layout)
Dans le Layout précédent, nous avons 2 objets : Un Linear Layout Une TextView <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> Les propriétés : layout width = défini la largeur de votre objet layout height = défini la hauteur de votre objet Spécialement pour les objets de type layout (Linear) orientation (vertical ou horizontal)

51 Le Hello world (Layout)
<TextView android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:textSize="15sp" android:text="1Hello world" /> Les propriétés : layout width = défini la largeur de votre objetlayout height = défini la hauteur de votre objet Text Size = défini la taille du texte Text = Il s’agit de votre texte Id : permettra de récupéré l’objet et d’intergir avec l’activité

52 Les objets

53 Les chaines de textes Il est conseillé de mettre tout les textes dans
le fichier string.xml disponible dans values Cela facilitera la traduction de votre application par la suite

54 Il suffira par la suite de faire un lien avec votre layout
Les Images Il est conseillé de mettre toutes les images dans un nouveau dossier drawable Il suffira par la suite de faire un lien avec votre layout <LinearLayout xmlns:android=" android:layout_height="match_parent" android:layout_width="match_parent" android:orientation="vertical" android:weightSum="5"> Nom du fichier sans extension Nom du dossier

55 Remarques : Le nom drawable est un nom formaté. Il est connu par Android. Un dossier qui se nommerait Images ne serait pas reconnu et une erreur sera remontée Un nom d’image ne peut contenir que des lettres Minuscules (pas de chiffre, ni majuscule, ni caractères spéciaux (uniquement « _ ») Il n’est pas possible de crée des sous-dossiers dans votre dossier drawable (penser à un nommage simple et facilement différentiable)

56 Le code JAVA

57 Le code JAVA setContentView(R.layout.activity_main);
public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /* …. Autres méthodes */ Cette méthode permet de créer une activité pour votre application et donc une interface pour votre utilisateur setContentView(R.layout.activity_main); Permet d’assosier à votre Activité un layout que vous aurez préalablement crée

58 Exemple : Le code JAVA public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } /* …. Autres méthodes */ SI vous compilez cette application et que vous l’envoyez sur un appareil Android, il lancera une activité avec un hello world comme nous l’avons crée

59 Modification de notre textView
public class MainActivity extends ActionBarActivity { /* Déclaration de nos variables */ private TextView textview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textview = (TextView) findViewById(R.id.helloworld); textview.setText(« Ce cours est trop génial »); } /* …. Autres méthodes */ Valeur provenant du layout Le texte « hello world » que nous avions mis dans le layout a été modifier par  le nouveau texte.

60 Modification de notre textView
textview = (TextView) findViewById(R.id.helloworld); La ligne précédente va crée un Objet de Type TextView en « liant » l’objet dans notre layout de Type TextView à un objet JAVA. L’utilisation de la méthode findViewById permet de récupérer un « objet layout » dans le code JAVA et de jouer avec les propriétés. (Changement de Texte, de taille … etc) R.id.helloworld est un entier qui « crée un lien vers la ressources Layout ». La classe R est une classe généré automatiquement (Lorsque vous créez un objet dans un layout, il y a création d’une variable dans cette classe), NE la supprimer jamais , et la modifier JAMAIS

61 Petit rappel : Classe Peut hérité d’une autre classe Interface
Ne peut pas être instanciée Est dite Abstraite

62 Les boutons Id Bouton dans le layout
Button button= (Button ) findViewById(R.id.button); button.setOnClickListener(this) Ajout d’un listener au bouton (Sans cela il ne se passera rien) Implémentation de l’interface : public class MainActivity extends Activity implements OnClickListener Implémentation de l’interface OnClickListener Hérite de la classe Activity

63 Les boutons ! Implémentation de l’interface :
public class MainActivity extends Activity implements OnClickListener Implémentation de l’interface OnClickListener Hérite de la classe Activity Une erreur va vous être remonter : Pour cela il suffit d’implémenter la méthode : public void onClick(View view){//Votre code ici ^^} !

64 Une seconde activité

65 Passage d’une activité à une autre
Changement d’activité Intent t; <= Object qui va lancer une activité en lui donnant en paramètre son nom t = new Intent(this, Transition.class); startActivity(t); Activité cible Activité actuelle

66 Passage d’une activité à une autre
Changement d’activité +Passage d’informations Activité 1 Activité 2 Intent t; <= Object qui va lancer une activité en lui donnant en paramètre son nom t = new Intent(this, Transition.class); t.putExtra(key,value) Clé qui permettra de récupérer la valeur Valeur que vous voulez transmettre

67 Passage d’une activité à une autre
Changement d’activité +Passage d’informations Activité 2 Dans l’activité 2 : getIntent().getXExtra(key) X correspond au type : Long, Int, Boolean, String ….

68 TP : Exercice 1 : Prend le texte saisie par l’utilisateur et qui le copie dans une TextView via un clique sur bouton Conseil Pour la boîte de saisie on utilisera l’objet EditText Pour le bouton on utilisera l’objet Button Exercice 2 : Récupère le nombre saisie dans une EditText et l’affiche dans une deuxième activité après l’avoir multiplier par 3. Il faudra l’afficher par la suite Exercice 3 : Création d’un formulaire d’inscription : Nom Prénom Sexe Age Ville de naissance Et envoi l’intégralité des informations dans une seconde activité qui affichera les informations

69 Android : Créer une application (2)
2ème méthode :

70 Android : Créer une application (2)
L’utilisation de HTML5 JS et CSS3 permet l’utilisation des technologies du web. Principe : Transforme votre site web en application mobile. Avantages : Portabilité sur d’autres OS (IOS, Windows OS) La portabilité est plus facile, il n’est pas écrit que lorsque vous créez une application Android en HTML 5 vous créer également une application IOS. Peu de code JAVA (15 lignes environs) Gros inconvénient : Le site doit être responsive design Impossibilité d’utiliser les langages PHP. (A ma connaissance) Il est nécéssaire d’avoir un serveur HTTP pour l’utilisation de cette application

71 Android : Avant Votre Projet Votre code JAVA Vos sources HTML JS CSS

72 Android : Après Votre Projet Vos sources HTML JS CSS


Télécharger ppt "Android Kévin Giroux."

Présentations similaires


Annonces Google