Développement Mobile.

Slides:



Advertisements
Présentations similaires
Tutoriel - Les Ressources du BCH
Advertisements

La GNU/GPL v3 du point de vue des administrations publiques _______ L'importance des SaaS Pascal Verniory responsable du service juridique du Centre.
Etude de Cas Une compagnie d'assurance automobile propose à ses clients quatre familles de tarifs identifiables par une couleur, du moins au plus onéreux.
Chapitre I : Systèmes d’exploitation
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
NFE 107 : Urbanisation et architecture des systèmes d'information
Assistance à distance Parfois on se sent bien seul face à un problème informatique surtout si on n’est qu’un simple utilisateur. Lorsqu'un problème survient.
le bureau de Windows et ses fonctionnalités
Développement avec Android Cours B53, enseignant Éric Labonté
Systèmes d’exploitation
Formation Microsoft® Office Access 2007
ENVIRONNEMENT WINDOWS
Android Réaliser par: Alia Ragueme Asma Lazrag Maroua Laribi.
GTCB Kahila Boulbaba BTS IRIS Session Sommaire Description du projet Présentation Moyen mis en œuvre Interaction entre les éléments Répartition.
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Développement Mobile : Android
Etude des Technologies du Web services
Communiquer avec ELYX.
Informatique générale
XML-Family Web Services Description Language W.S.D.L.
Module 1 : Préparation de l'administration d'un serveur
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.
Réalisée par :Samira RAHALI
Lycée Louis Vincent Séance 1
Configuration de Windows Server 2008 Active Directory
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
FICHIERS : Définition : Algorithme général:
Calculatrice Financière Android
Module 2 : Préparation de l'analyse des performances du serveur
Jonathan Montois Cyrille Kriegel
Passeport Orientation
Tout savoir sur la synchronisation des mails, contacts et calendrier sur Windows Phone Lire cette présentation en mode plein écran.
‘‘Open Data base Connectivity‘‘
Bienvenue sur CAUTIONET l'outil On Line de gestion de caution
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
PHP & My SQL.
Guillaume TORRENTE Marc BOUISSOU Recherche & Développement
Marc Bouissou, Guillaume Torrente, EDF
AFRI-CONCEPT Intégrateur de Solutions IT innovantes Manuel d’utilisation Mobile Security Suite Document réservé au service IT MTN Présenté par Gildas MABIALA.
Date : Juillet 2014 Formation : TAI Formateur : Tayeb BENDJELTI
GROUPE BTS IRIS 2 Informatique et Réseaux pour l’industrie et les Services techniques E-6 PROJET INFORMATIQUE REVUE N°2      INTERROGATION DE LA BASE DE.
Interface de commande client
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Content Management System CMS. Pourquoi ? Obligation de ressaisir des contenus publiés à plusieurs endroits Pas d’outils de gestion de qualité de l’information.
Gestion des fichiers et dossiers
SOLUTION DE VIDEOSURVEILLANCE SUR IP
Exploration de la programmation android Formation Assurer par: Club FreeWays Réalisé par: BOUHJJA Lamia.
Pourquoi est-il nécessaire d'installer de nouveaux logiciels sur votre ordinateur ? J'exclus de cette présentation l'installation de nouveaux matériels.
Pays de Famenne à vélo – octobre 2013 Solutions M-Tourisme pour les opérateurs touristiques.
Contenus riches et logique d'industrialisation Contenus riches et logique d'industrialisation Modélisation, production, génération, gestion Stéphane Crozat.
Elabore par BELKADHI ABIR BEN HASSEN SALMA CHEBBI MARWA
Jeu de Librairies Virtuelles « DLL » Windows pour la réalisation de programmes informatiques.
ENGIMA.
Android Kévin Giroux.
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Arbre GénéalogiqueDiagramme de Classes Comment la visualisation d’une hiérarchie de classes facilitera le travail de notre client ?
En route vers le déploiement . . .
PROSOFT : simple et complet, sa prise en main est rapide et intuitive 1/41 Évaluez gratuitementPROSOFT Un logiciel conçu pour les agents immobiliers 
Programmation mobile: Android
Présentation de Qt Iris 1
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
WINDOWS SEVEN.
1Boulogne Informatic Club PRESENTATION DE WINDOWS 10.
Chapitre 12 Surveillance des ressources et des performances Module S41.
Introduction O.Legrand G. Seront. Open Handset Alliance Project Regroupement d'entreprises : –de télécommunications, –de constructeurs d’appareils mobiles,
Transcription de la présentation:

Développement Mobile

1. La plate-forme Android Présentation de la plate-forme Le kit de développement Andoid en détails

1. La plate-forme Android A. La plate-forme Android Les versions de plate-forme Une architecture autour du noyau Linux La licence Le marché Android et ses concurrents B. Le kit de développement Android en détails Documentation du SDK Les exemples Les outils de développement du SDK

1. La plate-forme Android Android -> excellent outil pour le développement d’applications mobiles. Les 3 points clés d’Android: Innovation : intègre les dernières technologies (écran tactile, GPS…) Accessibilité : pas de matériel spécifique (émulateur ou mobile Android pour les tests) pas de langage particulier à connaître (plate-forme réalisée en Java) Portabilité : Réalisé via un langage portable : Java Sous licence OpenSource : modification & distribution libres

La plate-forme Android Présentation de la plate-forme Avant l’arrivée d’Android l’iphone monopolisait le paysage des OS pour mobile (usage, applications) La comparaison permanente à l’iphone(ergonomie, internet…) met en évidence la valeur du produit Conséquence, coalition fin 2007 : Open Handset Alliance (47 acteurs dont Google) Ne pas confondre Android avec Google

La plate-forme Android Les versions de la plate-forme Depuis Juillet 2010, version 2.2 Froyo

La plate-forme Android Les différentes couches de la plate-forme Android: Un noyau Linux (multitâche) Bibliothèques (graphiques, multimédias) Machine virtuelle Java (Dalvik Virtual Machine) Framework applicatif (gestion fenêtre, de téléphonie etc.) Applications (navigateur web) Une architecture autour d’Unix

La plate-forme Android Une architecture autour d’Unix

La plate-forme Android La Licence et le marché La licence principale est Apache2 : autorise la modification et distribution du code librement. Début 2009, HTC est le premier a avoir adopté la plate-forme Android, depuis augmentation accrue des fabricants (samsung, Sony, Motorola etc.). Estimation en 2010 : 50% des téléphones sont sous Android.

La plate-forme Android Iphone Os : principal concurrent Windows Mobile Symbian : Os de Nokia BlackBerry Os Avantage : raréfier les différents systèmes. Les concurrents d’Android

Le Kit de développement Android en détails Composition du SDK d’Android: API Exemples de code Documentation Outils (émulateurs) Le SDK d’Android est gratuit sur le site de Google. La documentation est scindée en 2 parties: Guide du développeur( docs/guide/index.html) La documentation des Api (javadoc)

Le Kit de développement Android en détails Le kit est accompagné d’exemples de code (platforms\android-2.0\samples): Snake Les outils de développement du SDK Boîte à outils Ensemble de programmes( sqlite3) Le logiciel Android Développement Tools plugin s’intègre à Eclipse proposant des interfaces et de débogage des applications.

Fondamentaux Android

Fondamentaux Android Dérivé du JAVA Différents composants d’Android Les ressources d'Android Emulateur Eclipse

Dérivé du java Une application Android est une application objet Au final Android traduit le code Java en code c utilisable par l’OS

Différents composants Android On a différents composants: Activités -> développées par l’appli Services -> services développés avec l’os Fournisseurs de contenu -> création d’image, vidéo, … Gadgets -> Module d’affichage pour le bureau de l’Android phone Objets Intents -> diffusent des messages d’action Réception des Intents -> fait office de Listener Notifications -> interaction avec l’utilisateur lors des erreurs

Cycle de vie d’une Activité

Ressources Android

Emulateur Eclipse Le plug-in d’Eclipse lance un émulateur d'un téléphone Android, afin de tester l’application. On peut grâce à cet émulateur surveiller le détail du processus de l’application

Interface utilisateur Le concept d’interface Gérer une interface Gérer Listener Les ressources

Le concept d'interface

Gestion d’interface Interface objet Interface Xml

Gérer une interface - Vue Object 2 TextView Xml Déclaration

Gérer les événements Sous Android , toutes les actions de l’utilisateur sont perçues comme un événement, que ce soit le clic sur un bouton d’une interface, le maintien du clic, l’effleurement d’un élément de l’interface. Ces événements peuvent être interceptés par les éléments de votre interface pour exécuter des actions en conséquence. L’interaction des événements est gérée grâce à la classe Intent

Gérer les événements

Les Ressources Les différents Tags XML <use-permission> On choisit les ressources que l’on va utiliser <activity> Affiche les différents objets à afficher <services> Lance les tâches de fond de l’application <receiver> Gère les interactions avec les autres applications Se sert de la Class Intent

Interface Avancée Interface avancée Les fonctions importantes La classe Intent

Interface Avancée Création de Ressources

Les fonctions importantes Les fonctions indispensables pour programmer Void oncreate (Bundle savedInstanteStated) Void ondestroy () Void onStart () Void onStop () Void onRestart () Void onSaveInstanteSave ((Bundle savedInstanteStated) Void ondestroy (), permet la libération mémoire, des ressources, fermeture de fichier Void onStart (), permet d’initialiser les controles Void onStop (), permet de mettre en tache de fond l’application, libération des threads Void onRestart (), permet de remttre au premier plan l’application Void onSaveInstanteSave ((Bundle savedInstanteStated), permet de sauver les données importantes

On peut agir de deux façons avec un objet intent: en mode explicite Classe Intent La class Intent permet à l’application de communiquer avec une autre application mais aussi le système. On peut agir de deux façons avec un objet intent: en mode explicite en mode implicite Explicite: on cible le composant quyi dois agir Implicite: on cible un service général et le système choisi pour nous l’application la plus adapté

Aspects interactifs et communicants d’une application Android

Aspects interactifs et communicants d’une application Android Persistance des données Partage des données Exemple de technique : la géolocalisation

Persistance des données En quoi cela consiste? Une application doit pouvoir : Garder une trace des interactions avec l’utilisateur Conserver des données d’une session à une autre Les moyens : Quatre techniques sont à disposition du développeur pour la persistance des données, chacune offrant un compromis entre 3 points importants : Facilité de mise en œuvre Rapidité Flexibilité

Persistance des données Les 4 techniques sont les suivantes : Persistance des activités Mécanisme de préférences partagées Système de fichiers Base de données SQLite Chaque technique possède des caractéristiques et des usages propres. C’est au développeur de choisir celle qui lui semble la plus adaptée au contexte de son application!

Persistance des données Persistance des activités : Principe : Enregistrer le parcours de l’utilisateur dans l’application (écrans rencontrés et leur contexte) On parle de « persistance des activités » car un écran est lié à une activité Comment faire ? 1ère méthode = gérer la persistance grâce aux méthodes du cycle de vie de l’activité (onCreate, onSaveInstanceState, onRestoreInstanceState…) 2ème méthode = gérer la persistance manuellement grâce aux classes de persistances de l’API

Persistance des données Préférences partagées : Principe : Enregistrer les valeurs propres à l’application (paramètre de l’utilisateur, configuration de l’application…) sous forme d’un ensemble de paires clé/valeur Autoriser un accès partagé à ces informations à travers les différents composants de l’application Comment faire ? On récupère les préférences d’une activité en cours via un appel à la méthode getPreferences Cette méthode renvoie un objet de type SharedPreferences à partir duquel on pourra extraire les valeurs de l’application

Persistance des données Système de fichiers : Principe : Le fichier = élément de base d’Android pour stocker tout type de données (applications, ressources, bases de données…) Comment faire ? Utiliser les API standards de manipulation de fichiers de l’espace de noms java.io En plus de cela, Android propose 2 méthodes pour simplifier la manipulation des fichiers : openFileOutput (ouvrir fichier en écriture) openFileInput (ouvrir fichier en lecture)

Persistance des données Base de données SQLite: Principe : Stocker et manipuler des données complexes et structurées -> très difficile, voire impossible à faire avec les autres moyens décrits précédemment Comment faire ? Android fournit un support de bases de données relationnelles au travers de SQLite SQLite = base de données légère, gratuite et Open Source très utilisée dans le domaine des appareils mobiles (lecteurs mp3, lecteurs de salon…)

Persistance des données Conclusion Nous avons vu différentes façons de stocker des données d’une application Chaque mécanisme possède ses avantages et inconvénients! Pour choisir le plus approprié on peut se baser sur plusieurs critères : Portée de l’accès aux données Difficulté/délai d’implémentation Structuration ou non des données, rapidité en lecture Nécessité ou non de devoir effectuer des requêtes sur ces données La nécessité de partager et d’exposer les données aux autres applications sera aussi un critère important pour le choix de stockage

Partage des données Pourquoi est-ce important ? Aujourd’hui grâce à l’Internet : Circulation rapide de l’information Information reprise et exploitée par de très nombreuses sources Cas d’une application Objectif : Devenir un centre d’intérêt pour l’utilisateur Rester incontournable (défier la concurrence, avoir le moins de restrictions possible…) Moyen : Le partage de données et ce qu’il permet : échange entre applications, extension d’applications…

Partage des données Comment faire avec Android ? Utiliser les Fournisseurs de Contenu : Excellent moyen pour diffuser de l’information Interface standard d’échange Exploiter les dossiers dynamiques (Live Folders) : Permettent de visualiser les informations des Fournisseurs de Contenu (sans même démarrer l’application) Interface directement accessible depuis le bureau

Partage des données Les Fournisseurs de Contenu : Qu’est - ce ? C’est un mécanisme prévu par la plate-forme Android pour faire une scission claire entre une application et les données qu’elle manipule Autrement dit : un Fournisseur de Contenu fournit une abstraction de l’accès aux données d’une application ! Principe : Exposer les données d’une application en lecture et/ou écriture via une interface générique

Partage des données Les Fournisseurs de Contenu : But : Rendre une application accessible et extensible S’abstraire de l’accès aux données de l’application ne pas avoir à manipuler des données complexes et structurées d’une base de données S’abstraire de la notion de « propriété » : données disponibles que l’application soit créée par soi-même ou des tiers

Partage des données Les dossiers dynamiques (Live Folders) : Qu’est - ce ? C’est un autre mécanisme d’accès aux données introduit avec Android 1.5 Principe : Permettre aux utilisateurs de visualiser les informations d’une application directement sur leur Bureau sans avoir à exécuter l’application Autrement dit : c’est tout simplement une vue en temps réel des données exposées par un Fournisseur de Contenu

Partage des données Les dossiers dynamiques (Live Folders) : Illustration : Partage des données

Partage des données Conclusion Ce qu’il faut retenir : Les différents mécanismes d’accès aux données permettent d’exposer les données de vos applications en dehors de celles-ci Très important pour communiquer avec des composants d’une application ou des applications tierces Tout cela sert à donner une « ouverture » importante à l’application et la rendre de ce fait attractive

Géolocalisation Les services de géolocalisation d’Android sont divisés en deux grandes parties : Les API qui gèrent les plans -Les API qui gèrent la localisation à proprement parler

Déterminer la position courante d’un appareil Problèmes : - tous les appareils ne disposent pas du même matériel de géolocalisation (ex: pas de récepteur GPS) - les conditions d’utilisation du téléphone peuvent rendre inutilisable une méthode de géolocalisation. Solutions plusieurs moyens de localisation au travers d’une liste de fournisseurs de positions : selon les conditions, Android se chargera de sélectionner le plus apte à donner la position de l’appareil.

Déterminer la position courante d’un appareil Deux types de fournisseurs naturels : Le fournisseur basé sur la technologie GPS, de type LocationManager.GPS_PROVIDER Le fournisseur qui se repère grâce aux antennes des opérateurs mobiles et aux points d’accès Wi-Fi, de type LocationManager.NETWORK_PROVIDER

Déterminer la position courante d’un appareil Exemple de code: où suis-je? déterminer la position courante de l’appareil à l’aide du Location Provider GPS. Seulement 2 étapes : - Déclarer le fournisseur de position à utiliser - Récupérer la dernière position connue

Déterminer la position courante d’un appareil

Déterminer la position courante d’un appareil

Déterminer la position courante d’un appareil Détecter le changement de position Problèmes : - Recevoir des mises à jour de sa position et détecter le mouvement. Solutions : LocationManager.requestLocationUpdates(fournisseur, temps, distance, locationListener)

Conversion d’adresses et d’endroits Géocodage Permet de déterminer des coordonnées en latitude et longitude à partir d’une adresse ou d’une description d’un endroit. Géodécodage A l’inverse le géodécodage retrouvera une situation géographique en fonction des coordonnées choisies. Ces fonctionnalités sont liées a l’API Google.

Conversion d’adresses et d’endroits Exemple d’utilisation du géodécodage

Créer une activité utilisant Google Maps La manipulation d’adresse ou de lieux, que ce soit pour un affichage ou une saisie, peut se faire via des affichages textes ou des formulaires mais l’utilisateur est habitué à tout visualiser sur des cartes. Pour réaliser des applications utilisant ces vues à base de cartes on peut utiliser les différentes classes suivantes : -MapActivity : classe de base à étendre pour créer une activité qui contiendra une carte -MapView: une vue affichant les cartes sous forme de tuiles -MapController : qui permet de contrôler la carte(centrage ,niveau de zoom, etc.)

Créer une activité utilisant Google Maps

Créer une activité utilisant Google Maps Résultat :

PUBLICATIONS SUR L’ANDROID MARKET

Qu’est ce que l’Android Market ? sommaire Qu’est ce que l’Android Market ? Comment publier des applications sur l’Android Market ?

Qu’est ce que l’Android Market ?

Qu’est ce que l’Android Market ? L'Android Market est une boutique en ligne, applications entre les « meilleures » (Featured), « Meilleures Payantes » (Top Paid) et « Meilleures gratuites » (Top Free) 22 octobre 2008. Site Web android.com/market L'Android Market est une boutique en ligne, similaire à l'App Store, créée par Google pour le système d'exploitation Android. Une application est pré-installée sur chaque téléphone sous Android, permettant de télécharger des « apps » développés par des sociétés. Le site officiel permet de choisir les applications entre les « meilleures » (Featured), « Meilleures Payantes » (Top Paid) et « Meilleures gratuites » (Top Free). Ce service a été initié le 22 octobre 2008.

Qu’est ce que l’Android Market ? Prix des applications et achats : Les développeurs => 70 % Google => 30 %. Redistributions aux développeurs via Google Checkout. Prix des applications et achats [modifier] Les développeurs d'applications payantes reçoivent 70 % du prix du logiciel, 30 % allant à Google[9]. Les revenus engendrés par les applications payantes sont redistribués aux développeurs via Google Checkout. Pour chaque nouveau développeur, 25 € sont à fournir comme frais de dossier.

Qu’est ce que l’Android Market ? Comparaison avec les autres boutiques en ligne Comparaison avec les autres boutiques en ligne [modifier] En juin 2010, la société Distimo publie une étude où elle démontre que l'Android Market est de loin la boutique proposant le plus d'applications gratuites : 57 % des applications sont gratuites. En comparaison, l'App Store (pour iPhone) n'en dispose que de 28 %, un chiffre qui reste à peu près identique d'une plate-forme (Blackberry App World, Nokia Ovi Store, Palm, Windows Marketplace) à l'autre, hormis l'Android Market[10].

Comment publier des applications sur l’Android Market ?

En ligne de commande je me positionne dans nom répertoire où se trouve l’utilitaire généralement. C:\Program Files\Java\jre1.6.0_07\bin Dans ce répertoire j’utilise l’utilitaire keytool.exe les paramètres sont: -genkey génération de la clé (privé et public) -v -keystore <du nom de la clé chemin complet de la sauvegarde> -alias <alias de la clé> -keyalg <alg type d’algorithme DSA ou RSA> -validity <nombre de jours> exemple de keytool -genkey -v -keystore c:/monrepertoire /my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000

Puis dans eclipse  file=>export

Dans le fenêtre qui s’ouvre sélectionner android=>Export android application. La fenetre suivante entrer le nom de votre application, puis dans  la fenêtre suivante sélectionner votre cles générée précédemment et entrer votre mot de passe saisi pendant la création de la clés.

Dans la fenêtre suivant sélectionnée alias et le mot de passe toujours celui saisi pendant la création de la clés le deuxième.

Dernière fenêtre le repertoire où sera sauvegardé votre apk il ne reste plus qu’a créer un compte sur le market et à uploader le fichier.

Creation d’un HelloWorld multiColor Le TP Creation d’un HelloWorld multiColor

Merci de nous avoir écoutés Fin de la présentation Merci de nous avoir écoutés Avez-vous des questions ?