Créer une appli Android Partie 1

Documents pareils
Les fondamentaux du développement d applications Java

Android 4 Les fondamentaux du développement d'applications Java

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer

Gestion des différentes tailles d écran

Tutoriel Android - TP de prise en main

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

Projet Android (LI260) Cours 2

SOMMAIRE

Table des matières. Partie I Concepts de base Préface... VII

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

TP SIN Programmation sur androïde Support : eclipse

Introduction ANDROID

Créer une application de livre interactif pour tablette avec Indesign CS6 et Adobe Digital Publishing Suite

Android. Programmation. De la conception au déploiement avec le SDK Google Android 2. Damien Guignard Julien Chable Emmanuel Robles

Android. Présentation d Android. Florent Garin

Outils, langage et approche Android Une introduction. Nicolas Stouls lyon.fr

Génie Logiciel et Interaction Homme-Machine PROJET UCAMPUS

TP2 : Client d une BDD SqlServer

Développement Android. J.-F. Couchot

Chapitre 1 Retour en arrière

Développement d applications professionnelles avec Android 2

Optimiser pour les appareils mobiles

Programmation mobile avec Android

Architectures Mobiles

Développement d'applications pour Android

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

TD/TP 1 Introduction au SDK d Android

CYBER-BASE M. E. F. I 2 RIVES. Programme des Ateliers

BR-Docs guide d applications mobile Android

Encore plus de widgets et de conteneurs

Développement d'applications pour Android. M. Dalmau IUT de Bayonne Pays Basque

Mise en route de votre collier GPS Pet Tracker

Sage Customer View (ios) Guide d installation et d utilisation

SYSTEME D ALARME CONNECTE. Guide d installation et d utilisation

Avantic Software Présentation de solutions GED pour mobiles (Gestion Electronique de Documents)

Spétechs Mobile. D e r n i è r e m i s e à j o u r : s e p t e m b r e

Créer des applications Android

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

Prise en main rapide

Devenez un véritable développeur web en 3 mois!

Education Delivery Intelligent Tool

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014

La mesure de la consommation des Applications mobiles

Guide Rapide d'utilisation

GOOGLE ANALYTICS. Ajout du code de suivi sur PowerBoutique. Ajout du code de suivi Google Analytics. Page 1 / 7 TUTO / GOOGLE ANALYTICS

Apps Sage : les 10 étapes pour publier vos données dans le Cloud.

De Java à Android version 0.1

PARAMETRAGE DU STOCKAGE/DESTOCKAGE DES ARTICLES & MOUVEMENTS DE STOCKS

Le disque dur. Le disque dur est l'organe servant à conserver les données sous forme de dossiers de manière permanente.

V11. Release 1. Nouveaux appareils. Nouvelles fonctionnalités. Plus de flexibilité.

Approche Contract First

Découvrir Drupal. Les meilleurs thèmes et modules Drupal (présenta5on démo)

Tutoriel Android. Pour démarrer la programmation d'applications Android

3 Octobre Les Communautés MS

GUIDE D UTILISATION DU LOGICIEL DE TELE-MAINTENANCE. TEAM VIEWER Version 7.

Modifier les paramètres

Poste virtuel. Installation du client CITRIX RECEIVER

Android et le Cloud Computing

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Dans ce mémento, vous trouverez les informations détaillées pour configurer les fonctionnalités du Responsive Design dans le Worldsoft CMS:

< Atelier 1 /> Démarrer une application web

CAHIER DES CHARGES D'IMPLANTATION

Ceci est un Chromebook, ton ordinateur!

Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication

Générer du code à partir d une description de haut niveau

Point sur les solutions de développement d apps pour les périphériques mobiles

Partner Entreprise. Modules de cours pour la formation continue Offre IFAPME Verviers

Spécifications Techniques - Tablettes

LES TABLETTES : GÉNÉRALITÉS

Solution de Mobilité SAP SUP & AFARIA. Meltz Jérôme

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers

Création d installateurs pour Windows avec InnoSetup

TRACcess ekey. Référence rapide

Guide démonstratif CIH Mobile v2

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?

ANICOTTE Guillaume GUFFROY Matthieu LIMA Juliette SALLOUH Chamsseddine CAHIER DES CHARGES SI 28

Android 101. Rémi Forax

Mise en place du Module Magento ShoppingFlux

Meta Object Facility. Plan

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

inviu routes Installation et création d'un ENAiKOON ID

1 INTRODUCTION. PowerBuilder - Introduction. Pascal Buguet Imprimé le 19 août 2004 Page 1

Prise en compte des ressources dans les composants logiciels parallèles

Interagir avec le SharePoint. Version 1.0

Les pages suivantes présenteront : I. Le téléchargement et l installation du navigateur. II. L utilisation de Pep s à l aide de ce navigateur.

Module BD et sites WEB

Programmation des Applications Réparties. Parsers XML DOM et SAX

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

Google Tag Manager. «Vous ne verrez plus l'analytics de la même manière» par Ronan CHARDONNEAU

Manuel logiciel client for Android

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Windows Azure. Principales fonctions

arcopole Studio Version 3.1

Le baromètre trimestriel du Marketing Mobile en France

Alfstore workflow framework Spécification technique

Logiciel de gestion de caisse et d ardoises

Transcription:

Partie 1 Java Android Hervé PHILIPPE Promotion 2015-2016

Plan Docs, tutos Interface graphique Généralité Révolution tactile Gamification Material Design Créer une appli Android Définitions Structure d un projet Ressources IHM Layout View ViewGroup Bonnes pratiques BitBucket Intégration dans Android Studio

Développement Android Studio Docs, tutos Doc officielle : http://developer.android.com/develop Tutos, docs, API de référence (tout en anglais)

Développement Android Studio Docs, tutos Doc officielle : http://developer.android.com/develop Tutos, docs, API de référence (tout en anglais)

Développement Android Studio Docs, tutos Doc officielle : http://developer.android.com/develop Tutos, docs, API de référence (tout en anglais) OpenClassrooms.com Developpez.com Stackoverflow.com

Développement Android Studio Docs, tutos Doc officielle : http://developer.android.com/develop Tutos, docs, API de référence (tout en anglais) OpenClassrooms.com Developpez.com Stackoverflow.com Autres : http://jdandroid.com http://tutos-android.com

Développement Android Studio Docs, tutos Doc officielle : http://developer.android.com/develop Tutos, docs, API de référence (tout en anglais) OpenClassrooms.com Developpez.com Stackoverflow.com Autres : http://jdandroid.com http://tutos-android.com Google est ton ami ;)!

Développement Android Studio Docs, tutos Doc officielle : http://developer.android.com/develop Tutos, docs, API de référence (tout en anglais) OpenClassrooms.com Developpez.com Stackoverflow.com Autres : http://jdandroid.com http://tutos-android.com Google est ton ami ;)! Wikipedia aussi!!!

Interface graphique Généralités Une application mobile a (très souvent) besoin : D une communication web via réseaux sociaux Vidéos (YouTube ) Images (Instagram, Pinterest ) Actus, anecdotes (Twitter, Facebook ) D une belle interface graphique Agréable à regarder Ergonomique : facile à utiliser sur tout type d appareils Réactive -> l interface graphique est très importante

Interface graphique Révolution tactile Ecran tactile Simplicité Sentiment de maîtrise Téléphone Appareil mobile Communiquant Smartphones = écran tactile + téléphone Mobilité -> pas seulement pour le boulot Démocratisation de l utilisation des applications Succès des «stores» d applications grâce aux jeux

Interface graphique Gamification Arrivée de la gamification un peu partout

Interface graphique Gamification Exemples d éléments graphiques Barres de progression Augmentation de niveau Diplômes

Interface graphique Gamification Exemples d éléments graphiques Barres de progression Augmentation de niveau Diplômes Interaction avec l utilisateur Gestes IHM innovante : Reconnaissance vocale Hand-tracker / head-tracker Notifications, emails, sms

Interface graphique Material Design Ensemble de règles applicables aux interfaces graphiques des applications Proposé par Google A partir d Android 5.0 (Lollipop) Succède à l interface Holo (4.0-4.4) Sobre avec petites animations Valeur sûre!

Plan Docs, tutos Interface graphique Généralité Révolution tactile Gamification Material Design Créer une appli Android Définitions Structure d un projet Ressources IHM Layout View ViewGroup Bonnes pratiques BitBucket Intégration dans Android Studio

A vous de jouer! Créer un «Project» avec Android Studio, SANS activité Choisir un nom pertinent Réfléchir à la version minimale d Android

Définitions App Component Un composant d application est un point d entrée d une application : Intent Activities Une activité est un écran d une application Services Un service est une tâche de fond, souvent longue, sans interface graphique Content Providers Un fournisseur de contenu partage les données d une application à une autre Broadcast receivers Un récepteur de diffusion permet d agir après avoir reçu une intention générique (batterie faible, téléchargement terminé ) Une intention est le mécanisme permettant d interagir avec les composants d applications. Ex: lors du démarrage de votre application l intention «Launcher» est envoyée.

Créer la première activité de votre application Ca sera une activité très simple : «Empty Activity» Elle sera activée par l intention «Launcher» Elle aura une interface graphique (layout)

Structure d un projet «Project» dans Android Studio manifests->androidmanifest.xml java -> fichiers source application Application Application de test (Junit) res -> ressources L apparence graphique des pages Les données de l application Les fichiers de l application Gradle Scripts Pour compiler/linker Le(s) module(s), librarie(s) Le projet dans sa globalité

Ressources Dossier «Ressources» Fichiers binaires : images, sons Fichiers textes XML (données, layouts) A la compilation, les ressources deviennent des données utilisables en code Types de ressources : http://developer.android.com/guide/topics/resources/available-resources.html Animation (/res/anim ou /res/drawable) ColorStateList (/res/color) Drawable (/res/drawable) MipMap (/res/mipmap) Layout (/res/layout) Menu (/res/menu) String (/res/values) Style (/res/values) Autres (/res/values) Bool Color Dimension ID Integer Integer Array Typed Array

Ressources Système de «qualifiers», classés en dossiers Pour avoir plusieurs versions en fonction de : L écran : taille, densité, orientation La langue, la région L IHM (tactile, clavier ) Autre (mode nuit, type réseau GSM ) Ordre important. Ex: drawable-port-hdpi/ (images pour écran 240dpi mode portrait) Doc: http://developer.android.com/guide/topics/resources/providing-resources.html#table2

Ressources Système de «qualifiers», classés en dossiers Pour avoir plusieurs versions en fonction de : L écran : taille, densité, orientation La langue, la région L IHM (tactile, clavier ) Autre (mode nuit, type réseau GSM ) Ordre important. Ex: drawable-port-hdpi/ (images pour écran 240dpi mode portrait) Doc: http://developer.android.com/guide/topics/resources/providing-resources.html#table2 Dans Android Studio, faire «New -> Android ressource»!

IHM - Layout Un layout est un gabarit, qu on utilise par exemple pour une activité. Il est défini par un fichier XML On retrouve tous les layouts dans le dossier de ressources «layout»

IHM Layout Langage XML utilisé pour l IHM Balises Attributs Utilisation de namespaces Ex: xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

IHM Layout Langage XML utilisé pour l IHM Balises Attributs Utilisation de namespaces Ex: xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" Pour récupérer la valeur d une ressource : @type_ressource/nom_de_la_ressource Ex: @string/label_nom ou: @id/id_nom

IHM Layout Langage XML utilisé pour l IHM Balises Attributs Utilisation de namespaces Ex: xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" Pour récupérer la valeur d une ressource : @type_ressource/nom_de_la_ressource Ex: @string/label_nom ou: @id/id_nom Pour créer un nouvel «id» lors de la compilation : @+id/id_nom (toutes les ressources (XML) sont compilées en fichiers Java)

IHM View L élément graphique de base d une application Android s appelle vue (View) Une vue sert à afficher une élément graphique pour interagir avec l utilisateur Un groupe de vues (ViewGroup) permet d afficher d autres vues Remarque : un élément de type ViewGroup est aussi de type View (par héritage)

IHM - View L élément graphique de base d une application Android s appelle vue (View) Une vue sert à afficher une élément graphique pour interagir avec l utilisateur Un groupe de vues (ViewGroup) permet d afficher d autres vues Remarque : un élément de type ViewGroup est aussi de type View (par héritage) Un layout est en fait de type «ViewGroup» c est-à-dire qu il contient des éléments de type «View»

IHM ViewGroup LinearLayout Eléments affichés les uns à la suite des autres RelativeLayout Eléments affichés par rapport à d autres éléments Attributs obligatoires : android:orientation (LinearLayout) android:layout_width (LinearLayout et RelativeLayout) android:layout_height (LinearLayout et RelativeLayout)

IHM ViewGroup LinearLayout Eléments affichés les uns à la suite des autres RelativeLayout Eléments affichés par rapport à d autres éléments TableLayout Eléments affichés dans un tableau GridLayout Eléments affichés dans un tableau, mais plus de souplesse Attributs obligatoires : android:orientation (LinearLayout) android:layout_width (LinearLayout et RelativeLayout) android:layout_height (LinearLayout et RelativeLayout)

IHM ViewGroup LinearLayout Eléments affichés les uns à la suite des autres RelativeLayout Eléments affichés par rapport à d autres éléments TableLayout Eléments affichés dans un tableau GridLayout Eléments affichés dans un tableau, mais plus de souplesse FrameLayout 1 seul élément affiché! Attributs obligatoires : android:orientation (LinearLayout) android:layout_width (LinearLayout et RelativeLayout) android:layout_height (LinearLayout et RelativeLayout)

IHM ViewGroup Autres ViewGroup : ListView Afficher des données sous la forme d une liste GridView Afficher des données dans un tableau ScrollView Ajouter un défilement vertical à une vue

IHM Bonnes pratiques http://developer.android.com/guide/practices/screens_support.html Prendre en compte les caractéristiques de l écran : La taille La densité de pixels L orientation La résolution Densités prédéfinies mdpi (medium) ~160dpi hdpi (high) ~240dpi xhdpi (extra-high) ~320dpi xxhdpi (extra-extra-high) ~480dpi xxxhdpi (extra-extra-extra-high) ~640dpi

IHM Bonnes pratiques http://developer.android.com/guide/practices/screens_support.html Prendre en compte les caractéristiques de l écran : La taille La densité de pixels L orientation La résolution Pour les dimensions : Densités prédéfinies mdpi (medium) ~160dpi hdpi (high) ~240dpi xhdpi (extra-high) ~320dpi xxhdpi (extra-extra-high) ~480dpi xxxhdpi (extra-extra-extra-high) ~640dpi «density-independent pixels» (dp) Pour les textes : «scale-independent pixels» (sp)

BitBucket Intégration dans Android Studio Créer un compte (si ce n est pas déjà fait!) Créer un repository dans BitBucket Nom du projet Choisir Git Dans Android Studio Créer un projet vide VCS > Enable Version Control Integration Choisir Git Cliquer sur «Terminal» (panel en bas) Faire les commandes :

But : créer une application qui gère une «médiathèque» personnelle (livres, revues, CDs, DVDs, Blurays ) Créer les layouts nécessaires à l application