PROGRAMMATION DE COMPOSANTS MOBILES (ANDROID) WIESLAW ZIELONKA

Documents pareils
TP au menu «UI ANDROID»

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

TP SIN Programmation sur androïde Support : eclipse

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

1.3 Gestion d'une application

Projet Android (LI260) Cours 2

Programmation Android L3 informatique

Warren PAULUS. Android SDK et Android x86

Les fondamentaux du développement d applications Java

Tutoriel Android - TP de prise en main

Programmation mobile avec Android

Développement Android. J.-F. Couchot

Créer des applications Android

Introduction ANDROID

SOMMAIRE

De Java à Android version 0.1

Tutorial pour une application simple

Épisode 2 : Les outils de développement Alain Menu édition 2.1, septembre 2013

TP2 : Client d une BDD SqlServer

Encore plus de widgets et de conteneurs

TD/TP 1 Introduction au SDK d Android

Android Publish/Subscribe, GCM, Google Cloud Messaging : une introduction

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

APPLICATIONS JAVA. 1. Android. Développement d'activités Java sous Android. Android Partie I. L'architecture du système Android. Application Android

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

Android et le Cloud Computing

Android en action. Abdelkader Lahmadi Université de Lorraine

Développement sous Android

Module Architecture des systèmes mobiles : Android première partie Didier FERMENT - UPJV

1. Installation d'un serveur d'application JBoss:

AFTEC SIO 2. Christophe BOUTHIER Page 1

Gestion des différentes tailles d écran

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

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

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Développement sous Android

Programmer en JAVA. par Tama

INTERCONNEXION ENT / BCDI / E - SIDOC

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

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

Nuxeo 5.4 : les nouveautés

Edutab. gestion centralisée de tablettes Android

1. Base de données SQLite

Comment retrouver le fichier "bingo" sauvegardé dans l'ordinateur? Socle commun

Manuel d utilisation de Gestion 6

ENT Espace de stockage

Programme Compte bancaire (code)

Q-Checker pour V6 Release 2.1

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

FOXIT READER 6.0 Guide rapide. Table des matières... II Utilisation de Foxit Reader Lecture Travailler dans des documents PDF...

Comment paramétrer et sauvegarder les configurations d Altium Designer?

Chapitre 3 Configuration et maintenance

Compte-rendu de projet de Système de gestion de base de données

TP N 1 : Installer un serveur trixbox.

Écrire en ligne et de manière collaborative avec Etherpad. Pour les utilisateurs (enseignants, élèves)

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

Introduction : Cadkey

Remote Method Invocation (RMI)

Installation utilisateur unique ou multiutilisateurs de la CIM-10-CA et CCI

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Préconisations Techniques & Installation de Gestimum ERP

Android UIThread, Thread, Handler et AsyncTask

Guide de l'utilisateur : Surveillance MédiaSource Analytique

Formation Administrateur de Données Localisées (Prodige V3.2) Recherche et consultation des métadonnées

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

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Alfstore workflow framework Spécification technique

MANUEL. de l application «CdC Online» pour Windows. Table des matières

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Septembre 2012 Document rédigé avec epsilonwriter

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Gestion des licences Mia-Studio Manuel de l'utilisateur. - Procédure d'installation -

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Sauvegarde Android

Pro Monitoring System 1.0. Manuel d'utilisation

Programmation Mobile Android Master CCI

Les tablettes et l'extranet Intermixt Mode d'emploi

OUTILS DE TRANSFERT DE FICHIER VERS LISEUSES ET IPAD

Education Delivery Intelligent Tool

COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER.

Introduction à Eclipse

Manipulation 4 : Application de «Change».

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Les connexions sans fil avec Android. JMF (Tous droits réservés) 1

Application de messagerie simple sur Android : Rapport de projet de VAP RSM

MANUEL TBI - STARBOARD

Java 7 Les fondamentaux du langage Java

Environnements de développement (intégrés)

Service client LSC 1

Architectures Mobiles

Mise à jour 46 de l ENT itslearning Août 2014

Utilisation et création de la clé USB OSCAR

Chapitre 10. Les interfaces Comparable et Comparator 1

Programmation par les Objets en Java

Les Utilisateurs dans SharePoint

LOGICIEL ALARM MONITORING

Présentation Générale

Saisir et traiter les engagements de coûts

Transcription:

PROGRAMMATION DE COMPOSANTS MOBILES (ANDROID) WIESLAW ZIELONKA WWW.IRIF.UNIV-PARIS-DIDEROT.FR/~ZIELONKA

ActionBar Android recommande d'utiliser ToolBar à la place de ActionBar. Nous allons suivre cette recommandation.

Ajouter Toolbar à l'activité Votre activité doit être dérivée de AppCompatActivity: public class MyActivity extends AppCompatActivity { //... } Dans AndroidManifest.xml changer le style de l'application pour un style sans ActionBar (sinon vous aurez ActionBar et Toolbar en même temps): <application.. android:theme="@style/theme.appcompat.light.noactionbar">

Ajouter Toolbar à l'activité Ajouter Toolbar dans le layout de votre activité et un nouveau espace de noms xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/ apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto".. > nouveau espace de noms défini dans layout de l'activité

Ajouter Toolbar à l'activité La suite de fichier layout: alignement en haut du parent <android.support.v7.widget.toolbar android:id="@+id/toolbar" android:layout_alignparentstart="true" android:layout_alignparentleft="true" android:layout_alignparenttop="true" android:layout_width="match_parent" android:layout_height="?attr/actionbarsize" android:background="?attr/colorprimary" android:elevation="4dp" android:theme="@style/themeoverlay.appcompat.actionbar" app:popuptheme="@style/themeoverlay.appcompat.light" /> noter le nouveau espace de noms

Ajouter Toolbar à l'activité Dans oncreate() de l'activité mettre Toolbar comme la barre de l'application: import android.support.v7.widget.toolbar; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_livres); Button titre = (Button) findviewbyid(r.id.titre); Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); setsupportactionbar(toolbar);

Ajouter les items dans Toolbar Créer le répertoire /res/menu s'il n'existe pas. Dans ce répertoire créer un fichier xml: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/livreauteur" android:title="+livre+auteur" app:showasaction="never"/> <item android:id="@+id/livre" android:title="+livre" app:showasaction="ifroom"/> Notez l'espace de noms Indique si élément dans la barre ou dans l'espace de débordement

Alimenter Toolbar avec les items Dans l'activité redéfinir la méthode: @Override public boolean oncreateoptionsmenu(menu menu) { getmenuinflater().inflate(r.menu.livres, menu); return true; } Id du menu qui a été défini dans le fichier xml

Définir la méthode qui sera invoquée quand l'utilisateur clique sur un item de Toolbar Redéfinir dans l'activité la méthode : public boolean onoptionsitemselected(menuitem item) { Intent intent; switch( item.itemid() ) { case R.id.livreauteur: intent = new Intent(this, AjouterLivresEtAuteurs.class); startactivity(intent); return true; case R.id.livre: intent = new Intent(this, AjouterTitre.class); startactivity(intent); return true; case R.id.suplivreauteur: intent = new Intent(this, SupprimerLivreAuteur.class); startactivity(intent); return true; case R.id.suplivre: intent = new Intent(this, SupprimerLivres.class); startactivity(intent); return true; default: } return super.onoptionsitemselected(item); Faire un switch en fonction de id de item

Ajouter l'action Up dans la barre Dans AndroidManifest.xml déclarer le parent de l'activité : <activity android:name=".ajoutertitre" android:parentactivityname=".livres"> <meta-data android:name="android.support.parent_activity" android:value=".livres"/> </activity> Le parent de l'activité AjouterTitre est l'activité Livres. Notez la double déclaration du parent - différentes versions d'android utilisent de méthodes différentes.

Ajouter l'action Up dans la barre Dans la méthode oncreate() de l'activité ajouter l'appel à setdisplayhomeasupenabled(): protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_ajouter_titre); Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); setsupportactionbar(toolbar); getsupportactionbar().setdisplayhomeasupenabled(true);

DialogFragment Google recommande l'utilisation de DialogFragment Donc on considère que tout autre type de dialogue est périmé et ne devait pas être utilisé.

DialogFragment Le dialogue dans Android est asynchrone : quand le dialogue est lancé le code qui suit continue à être exécuté, le programme n'attend pas le résultat du dialogue. La communication entre le dialogue et l'activité qui a lancé le dialogue se fait par les fonctions callback exactement comme pour la communication entre un fragment et l'activité qui utilise le fragment.

DialogFragment Ecrire un fichier layout pour DialogFragment : dans l'exemple le layout est composé de TextView EditTexte et trois Buttons

DialogFragment DialogFragment ressemble à n'importe quel Fragment. Dans DialogFragment définir l'interface de communication avec l'activité (l'activité peut utiliser ce dialogue si elle implémentée l'interface).

DialogFragment Implémenter les méthodes : méthode static newinstance qui retourne le Dialogue public void onattach(activity act) - vérification si DialogFragment peut communiquer avec l'activité public void oncreate(bundle icicle) - définir le style et thème du dialogue public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle icicle) crée le view (inflate) de DialogFragment à partir de fichier layout public void oncancel(dialoginterface di) appelée si cancel() sur le dialogue public void ondismiss(dialoginterface di) appelée si on tourne l'appareil (et pas uniquement)

Lancer le DialogFragment dans l'activité FragmentTransaction ft = getfragmentmanager().begintransaction(); PromptDialogFragment pdf = PromptDialogFragment.newInstance( "Enter Something"); pdf.show(ft, PROMPT_DIALOG_TAG); /* show() à la place de commit() */ et implémenter l'interface de communication avec DialogFragment