Android Kévin Giroux.

Slides:



Advertisements
Présentations similaires
TOUQUET Arnaud ▪ GI05 BLONDEEL Igor ▪ GM05
Advertisements

A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
Exposé de Système - Informatique et Réseau
(Classes prédéfinies – API Java)
MIKHAYLOVA Vera Exposé Java principe de fonctionnement Lundi 17 mai 2004 DEUG 1ère année Science du langage Paris III.
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
IJA - TD 2 Bases du langage
Les fonctions en Java Partie I Le type void. Dans cette rapide présentation, je vais expliquer :.à quoi servent les fonctions.à quoi faut-il penser avant.
Application Android . pour étudiants de l’Esiee
Application Android . pour étudiants de l’Esiee
Nallet Jean-baptiste Université Claude Bernard Lyon1 Lassociation Flex/Java Une solution innovante Nallet Jean-baptiste.
Cours Visual Basic pour Application
Comment gagner de l’argent avec une application Windows 8
1 Une introduction à Java IFT 287 (Semaine 1). 2 Java - Historique Développé par Sun Microsystems en 1994 –Inventeur James Gosling (canadien!) Objectif.
Réaliser par: Amin chebbi. Introduction Architecture Fonctionnalités Quel langage de programmation utiliser 2.
IHM Etat de l'art du développement d'applications mobiles François BONNEVILLE aricia - Laboratoire d'Informatique de lUniversité de.
Développement Mobile : Android
Présenté par : Kalleli Dhouha
Android est une plateforme mobile open source et entièrement paramétrable. Elle a été créée afin de mettre à disposition des développeurs toutes les fonctionnalités.
Configuration Android
Programmation Orientée Objet
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Introduction à la programmation (Java)
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
1. 2 Toolkits Il existe 4 principales boites à outils (toolkits) graphiques : –Xt / Motif –Gtk –Windows –Qt Seul certaines fonctionnent sur toutes les.
Vers un développement ouvert Alexandre Poitras – Développeur indépendant WebÉducation – 24 janvier 2008.
Une introduction à Java
Firefox OS est entièrement construit en HTML5 et à partir des standards du Web. C’est un Système d’exploitation Open Source libéré des règles et restrictions.
Informatique et science du numérique
Convertisseur OWL vers RDF/RDFS
Comment maintenir son ordinateur « Propre » ?
-Présentation de l’équipe -Cadre du projet -Enjeux -Choix du sujet.
Test logiciel Xavier Baril.
Javascript 1° PARTIE : LES BASES
Développement Web Open Source haXe et les outils « open source » Première partie.
Guillaume TORRENTE Marc BOUISSOU Recherche & Développement
Programmer en langage c
APPLETS. Applets : généralités Applet : application s'exécutant dans une page HTML Le ByteCode (fichiers.class) est téléchargé depuis un serveur. L'exécution.
JavaScript Nécessaire Web.
4 Introduction des objets. Les chaînes et tableaux
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
La notion de type revisitée en POO
Projet SwitcHome Cahier des charges techniques Adeline COUPE, Hélène DRAUX, Ismaïla GIROUX, Loïc TACHET.
Introduction Java Conception par Objet et Programmation Java
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Expose sur « logiciel teamviewer »
11/04/ L'héritage Cours 7 Cours 7.
Argc et argv Utilisation des paramètres de la ligne de commande.
Tutorat en bio-informatique
Entrées / Sorties.
CAZIER Kévin JACOB Sébastien Réalisée dans le cadre du Projet Pluridisciplinaire Encadré par Mme Martine COQUET Responsable de l’entreprise.
SLAM 1 Exploitation d’un schéma de données
Les surcharges d'opérateurs
Les compétences à prévoir Site mobile ou applications mobiles.
Les compétences à prévoir Site mobile ou applications mobiles.
Les systèmes d’exploitation
Introduction au langage JAVA
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
Introduction General Chapitre 1 : Cadre général
Rim chakroun Mejdoub khouloud Direction de la Mecque.
Rampart Projet de développement Sommaire  Présentation générale  Architecture & Modélisation  Environnement de travail  Démonstration.
Veille Technologique Miwako MARTIN
Présentation de Qt Iris 1
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
GESTION DE CHAMPIONNATS DE FOOTBALL. Contexte Objectifs de l'application Outils de développement Les utilisateurs Structure de l'application Implémentation.
JAVA.
Présenter par : Ayari hela. plan 1. Architecture d’application android 2. Comparaison entre Android et iOs mobile 3. Les types des applications mobiles.
Transcription de la présentation:

Android Kévin Giroux

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.

Evolution des versions : Lollipop  3 novembre 2014

Répartition des versions Android

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)

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#

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... NSLog(@"Hello, World!"); [pool drain]; return 0; }

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

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; }

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

Les prérequis

Les prérequis : Java : JDK (Java Developper Kit) http://www.oracle.com/technetwork/java/javase/downl oads/index.html

Les prérequis : IDE Android Studio https://develop 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 http://developer.an droid.com/sdk/inde x.html

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

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

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

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

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

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>

Un peu de vocabulaire

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)

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

Cycle de vie d’une application

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

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

La partie Théorique et pratique

Préparation de notre ordinateur

Préparation de notre ordinateur Installation de Java JDK http://www.oracle.com/techne twork/java/javase/downloads/i ndex-jsp-138363.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 http://developer.android.com/s dk/index.html

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

Préparation de notre ordinateur Choix de la plateforme

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

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

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

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

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

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

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

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

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

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

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

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

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

LET’S GO !!

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 ».

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

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

Un layout : exemple Hello world

Android : Créer une application (1) Le Hello world (Layout) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent«  android:orientation="vertical"> <TextView android:id="@+id/helloworld" android:layout_height="match_parent" android:gravity="center" android:textSize="15sp" android:text="1Hello world" /> </LinearLayout>

Le Hello world (Layout) Dans le Layout précédent, nous avons 2 objets : Un Linear Layout Une TextView <LinearLayout xmlns:android="http://schemas.android.com/apk/res/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)

Le Hello world (Layout) <TextView android:id="@+id/helloworld" 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é

Les objets

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

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="http://schemas.android.com/apk/res/android" android:layout_height="match_parent" android:layout_width="match_parent" android:background="@drawable/background" android:id="@+id/linear" android:orientation="vertical" android:weightSum="5"> Nom du fichier sans extension Nom du dossier

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)

Le code JAVA

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

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

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.

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

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

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

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 ^^} !

Une seconde activité

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

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

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 ….

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

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

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

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

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