Applica'ons mobiles. Par'e 1. Introduc'on JavaME



Documents pareils
Machine virtuelle Java pour Palm TX

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

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Manuel d installation de l application Dimona New via SMS

Speed up your business

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

PC, Tablette, Smartphone, comment choisir ce qui me convient le mieux?

Encadré par : Michel SIMATIC

Séminaire Partenaires Esri France 7-8 juin Paris Les API ArcGIS pour les smartphones

TD/TP 1 Introduction au SDK d Android

Benjamin Morin SANSTABOO. L iphone OS 4. maîtrisé. pour l utilisateur avancé. Groupe Eyrolles, 2010, ISBN :

I- USBKey Transfer. Guide d u5lisa5on. Comment u)liser I- USBKey Transfer?

Vulgarisation Java EE Java EE, c est quoi?

Concepon et réalisaon

Déployer et sécuriser des applica1ons mobiles dans votre SI / Cloud

Les termes du cloud CUMULO NUMBIO 2015 O. COLLIN

EIP 2012 Projet Livepad. Documentation technique 1.5

Entreprise Chiffres clefs

Programmation Mobile Android Master CCI

Caractéristiques principales:

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

MMSCam. Travail de diplôme Pilotage à distance d un téléphone MMS. Département d électricité et d informatique. Auteur : Jeanmonod David

Environnement Zebra Link-OS version 2.0

Android. Présentation d Android. Florent Garin

Technologies mobiles & Tourisme: la révolution? Denis Genevois Marche-en Janvier 2011

Environnement Zebra Link-OS version 2.0

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

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

EA D S INNOVA TION W ORKS. Mobilité et sécurité. Nicolas RUFF nicolas.ruff [à] eads.net

Plan du cours. Historique du langage Nouveautés de Java 7

Développement tablette Android. SophiaConf2011 Par Arnaud FARINE

Automne Le guide ultime des tablettes

Routeur Gigabit WiFi AC 1200 Dual Band

Béatrice Bertrand CDDP de l Eure. Béatrice Bertrand CDDP de l'eure

Rootkit pour Windows Mobile 6

1. Découvrir l iphone 3G et 3G S

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

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

Quick Start Guide. Nokia 6288

Déploiement d applications Java ME

Applications smartphones : enjeux et perspectives pour les communautés de l'eglise Catholique. Application Smartphone 1

Création d une application Android (APPInventor)

COLLEGE ADRIEN CERNEAU

Didier Perrot Olivier Perroquin In-Webo Technologies

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

FileMaker Pro 13. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 13

QPC Informatique vous propose d apporter la mobilité à vos applications de gestion d entreprise sans changer votre outil de gestion interne!

Installation et prise en main

LES TABLETTES : EN PRATIQUE

De l authentification au hub d identité. si simplement. Présentation OSSIR du 14fev2012

Devenez un virtuose de Google. Atelier en informa5que présenté par Dominic P. Tremblay

Architecture matériel et logiciel 2

Chapitre 1 L interface de Windows 7 9

Chapitre 1 Retour en arrière

Les 100 incontournables dans le domaine des technologies! Décembre 2011

N.B. : Le mot de passe est le même pour les connexions sans fil, e-learning et Windows (laboratoires) ainsi que les adresses électroniques.

Le matériel informatique

Évolu>on et maintenance

Moderniser vos postes de travail grâce à VMware

Les tablettes numériques en EPS. Repères. Les différents types de tablettes et leurs caractéristiques.

Initiation à JAVA et à la programmation objet.

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Synchroniser ses photos

Manipulation 4 : Application de «Change».

Série Pro Toshiba Business Vision

Remise à niveau d un programme JAVA du domaine public

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

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

HYPERDRIVE iusbport Guide d utilisation

La tablette grand écran pour partager votre expérience sous Android Honeycomb!

DÉVELOPPEMENT D UNE APPLICATION DE COMMUNICATION BLUETOOTH SUR ANDROID. Projet de fin d étude VAP «Architecte de Services en Réseau»

UTILISATION DES SMARTPHONES EN SCIENCES CONSEILS PRATIQUES

DOCUMENTATION KAPTravel Module de gestion des appels de disponibilité

Pc Portable ou Tablette tactile?

Formation Utiliser son iphone ou son ipad

ereader compact 9 et reproducteur multimédia portable

Présentation Level5. Editeur de Logiciels. «If it s not monitored, it s not in production» Theo Schlossnagle #velocityconf

FileMaker Pro 12. Utilisation d une Connexion Bureau à distance avec FileMaker Pro 12

«Connais toi toi-même comme l as dit Socrate!»

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

Linux embarqué: une alternative à Windows CE?

Atelier numérique. Développement économique de Courbevoie. Internet / Extranet / Mobilité : Prospection et Support d'aide à la vente

Le Web de A à Z. 1re partie : Naviguer sur le Web

Recommandations techniques

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Prise en main rapide

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

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

Une tasse de café fumante est

CTIconnect PRO. Guide Rapide

Sites Internet : les. tendances. Jeudi 30 janvier 2014 Bordeaux L AGENCE CONNECTÉE À L ENTREPRISE

ArcGIS. for Mobile. Comprendre notre monde

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Java Licence Professionnelle CISII,

Découverte des tablettes tactiles (ipad d'apple et Galaxy Tab de Samsung

as Architecture des Systèmes d Information

Transcription:

Applica'ons mobiles Par'e 1 Introduc'on JavaME

Contexte : systèmes mobiles et embarqués Téléphone mobile Assistant Personnel Livre électronique Appareil photo Console de jeu Terminal de paiement Cartes à puce GPS

Nombre de lignes mobiles (en millions) 70 60 50 40 30 20 10 0 Année 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 Source : ARCEP, 2008

Usages Téléphoner Envoyer des messages succincts : SMS Photographier Écouter de la musique Envoyer des messages avec texte, image, audio : MMS Enregistrer des vidéos Jouer Naviguer sur Internet Lire et rédiger des emails Regarder la télévision Servir de modem à un ordinateur...

Nouveaux usages - Progrès matériels - Kits de développement pour mobile - Besoins spécifiques - Imagina'on des développeurs Contexte d u'lisa'on énorme!

Spécificités matérielles Encombrement et poids faibles : mobilité Autonomie Faible mémoire Affichage limité# $Clavier et pointage rudimentaire Ecran mul'touch Communica'on (bande passante)# 3G, Wifi, Bluetooth $Accéléromètre GPS Conséquences logicielles sur les choix de développement

Panorama des plateformes mobiles Plateforme Langages Windows Mobile.net - C++ Symbian OS S60 C++ CDC / CLDC / MIDP Java Androïd C++ - Java iphone objec've C Posi0f - Performance (code na'f) - Intégra'on - Performance (code na'f) - Standard ouvert - Le plus grand parc de tel - Performance - Open source - SDK - Performance - Intégra'on - SDK (apps) - Homogène Néga0f - OS - Standard fermé Très peu portable - Non homogène - Versions non compa'bles - Librairies supplémentaires De + en + de terminaux (HTC G1, ) Trois terminaux : ipod Touch, iphone et ipad

Ou'ls de développement Plateforme Environnement de développement SDK Windows Mobile Visual Studio Windows Mobile SDK hkp://msdn.microsom.com/windowsmobile Symbian OS S60 Carbide C++ (basé sur Eclipse) CDC / CLDC / MIDP Eclipse + SDK Sun Sun WTK Symbian SDK hkp://developer.symbian.com/main/ index.jsp hkp://java.sun.com/javame/index.jsp Androïd Eclipse Androïd SDK hkp://code.google.com/intl/fr/android/ download.html iphone Xcode iphone SDK hkp://developer.apple.com/iphone

Présenta'on de JavaME Plateforme Java pour les pe'ts périphériques (mobiles et embarqués) Périphériques cibles très vaste! Téléphones mobiles, Smartphones PDA TV, VCR, Lecteurs CD API définissant un sous- ensemble de J2SE Architecture en couche (configura'ons / profiles)

Les configura'ons JavaME Définissent les caractéris'ques de bases d un environnement d exécu'on Classe de terminaux possédant des caractéris'ques et ressources similaires Con'ent une machine virtuelle, et une API de base CDC (Connected Device Configura'on) Processeur 32bits ; > 2M RAM ; bande passante CLDC (Connected Limited Device Configura'on) Terminaux de ressources réduites, la majorité des téléphones actuels

Les profiles JavaME Définit une API par'culière à un type de machine, ou à une fonc'onnalité spécifique Associé à une configura'on Assure une «certaine» modularité à JavaME Complément aux configura'ons Profiles aux dessus de CLDC MIDP (Mobile Informa'on Device Profile) PDA Profile Les profiles au dessus de CDC Founda'on Profile JDBC Profile

Les profiles JavaME

Le profile MIDP (Mobile Informa'on Device Profile) Standard défini pour un ensemble de terminaux aux ressources et interfaces limitées hkp://java.sun.com/products/midp 128KB of non- vola'le memory 32KB of vola'le memory for the run'me heap 8KB of non- vola'le memory for peristent data A screen of at least 96x54 pixels Some capacity for input, either by keypad, keyboard, or touch screen Two- way network connec'on, possibly intermikent

MIDP 1.0 : limita'ons Pas de support de virgule flokante Pas de support audio (seulement les beeps ) Graphique Pas de support de la transparence GUI très limitée Pas adapté (du tout) aux jeux Réseau Ne supporte que le protocole HTTP

MIDP 2.0 : Nouveautés Support mul'média (sous ensemble de MMAPI) Package dédié aux jeux (sous ensemble de Game API) Réseau : HTTP, HTTPS, sockets, port série Sécurité GUI améliorée

Applica'on MIDP Toute applica'on MIDP doit dériver de la classe MIDlet Définie et contrôle le cycle de vie d une applica'on Se trouve dans le package : javax.microedi'on.midlet Trois méthodes sont appelées pour prendre en charge le cycle de vie de la MIDlet startapp() pauseapp() destroyapp() Développement : javac / preverify / packaging / déploiement

Les composants graphiques - javax.microedi'on.lcdui Structure de l API - «Look and feel» minimal, pris en charge par la JVM Indépendant du téléphone

MIDP 2.0 Game API API dédiée aux jeux Augmenta'on des performances Réduc'on de code : prise en charge de la logique du jeu Basés sur des éléments graphiques bas niveau ( Graphics, Image,Canvas) Package javax.microedi'on.lcdui.game, 5 classes à connaître! GameCanvas : gère l affichage du jeu, sa logique Layer : couche graphique (transparence) LayerManager : gère une série de layers Sprite : gère les anima'ons TiledLayer : U'le pour les maps

MMAPI (JSR 135) Permet l enregistrement et la lecture de fichiers mul'medias Lecture de fichiers packagés avec la midlet (wave, midi, videos, ) Lecture de fichiers internes au mobile Lecture de fichiers accessible via le réseau (streaming) Prise de photos, Package javax.microedi'on.media, les classes principales Player Control Manager PlayerListener Package javax.microedi'on.media.control VolumControl ToneControl VideoControl

J2ME/ MIDP : Le développement Déploiement d une midlet Le.jad (fichier de descrip'on) est téléchargé, précisant L URL de téléchargement du.jar La taille de l applica'on Le nom du jeu La midlet de démarrage (qui étend MIDLet) La version Les resssouces, les protocoles u'lisés, Le.jar est téléchargé Un seul.jar Ne peut u'liser que les bibliothèque présentes dans le téléphone Pas de partage de ressources entre MIDlets téléchargées Demande, si l applica'on a besoin d accéder à des ressources (réseau) L applica'on se lance

Java Mobile, les pièges «Write Once, Run Everywhere» : A OUBLIER!!! Les JVM sont souvent exo'ques Les JSR sont souvent implémentées par'ellement Le comportement de l applica'on sur l émulateur peut être différent sur le terminal Tester, tester, re- tester (sur tous les téléphones cibles)

Conseils JavaME Aken'on à la mémoire Limiter le nombre de classes (pas plus de 10!), les regrouper Sor'r les constantes du code dans un fichier de conf (binaire) Eviter les sta'c final Bannir les string au maximum, elles apparaissent en clair dans les.class, donc augmentent leur taille.

Conseils JavaME Ménager le processeur Regrouper les créa'ons d objets («new») à l ini'alisa'on de l applica'on Recycler les objets : On créé au démarrage de l applica'on un pool d Objets, et on les cast Travail à mémoire constante Eviter au maximum le déclenchement du garbage collector : Un lancement du garbage collector peut freezer l applica'on!!

iphone SDK Objec've- C Syntaxe Ges'on mémoire (retain/release) Cocoa (NSString, NSNumber, NSMutableArray) Framework Founda'on Xcode + Interface Builder Outlets Framework UIKit Model- View- Controller NSNo'fica'onCenter

iphone SDK Fenêtres et vues UIWindow, UIView UINaviga'onController UITabBarController Entrées/Sor'es UITextField, UILabel Préférences Photo/Vidéo Géolocalisa'on, Services web Mul'touch, Anima'on, QuartzCore

Projets iphone SDK