j2me mobile

38
Programmation d’applications pour mobiles J2ME Fid` el Jiomekong Azanzi Ecole Nationale Sup´ erieure des Postes et T´ el´ ecommunications (ENSPT) 6 janvier 2012 1 / 38

Upload: jeanfrancoisatemengueebanga

Post on 14-Jul-2016

243 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: J2ME Mobile

Programmation d’applications pour mobilesJ2ME

Fidel Jiomekong Azanzi

Ecole Nationale Superieure des Posteset Telecommunications (ENSPT)

6 janvier 2012

1 / 38

Page 2: J2ME Mobile

Introduction

2 / 38

Page 3: J2ME Mobile

Introduction

• Image d’un telephone de premiere generation

3 / 38

Page 4: J2ME Mobile

Introduction

4 / 38

Page 5: J2ME Mobile

Introduction

• JAVA est un langage objet developpe dans la societe Sun etpresente le 23 Mai 1995

• Il existe differentes plateformes◦ J2SE : Standard Edition◦ JAVA EE : anciennement J2EE : Entreprise Edition◦ J2ME : Mobile Edition (pour les telephones mobiles)◦ JAVA CARD : pour les cartes a puces

• Langage interprete

• Porte sous Licence GPL

5 / 38

Page 6: J2ME Mobile

Introduction

Technologie J2ME et APIs

6 / 38

Page 7: J2ME Mobile

Introduction

Architecture J2ME

7 / 38

Page 8: J2ME Mobile

Introduction

• Specification MSA (Mobile Service Architecture) : definie unearchitecture et une plateforme pour la programmation mobile

• On a 2 MSA : MSA de base pour les plateformes basees CLDC etle MSA avance pour les plateformes basees CDC

8 / 38

Page 9: J2ME Mobile

Introduction

The MSA Specification APIs (JSR 248)

9 / 38

Page 10: J2ME Mobile

Introduction

Relationship Between CLDC and CDC

10 / 38

Page 11: J2ME Mobile

J2ME

• retour aux sources : Java avait ete initialement developpe pourpiloter des appareils electroniques

• J2ME : plate-forme Java pour developper des applications sur desappareils mobiles◦ PDA,◦ des telephones cellulaires,◦ des terminaux de points de vente,◦ des systemes de navigation pour voiture,◦ etc.

11 / 38

Page 12: J2ME Mobile

J2ME

• Une machine virtuelle dediee tenant compte des ressources limiteesdu materiel cible

• Un ensemble d’API de base

• Des API specifiques

12 / 38

Page 13: J2ME Mobile

J2ME

• Elle est composee de plusieurs elements :

◦ Des specifications◦ Des machines virtuelles◦ Des API dediees◦ Des outils pour le developpement, le deploiement et la configuration

13 / 38

Page 14: J2ME Mobile

J2ME

Definit deux grandes familles d’appareils :

• Appareils a fonctionnalites dediees ou limitees :◦ ressources et interface graphique limitees,◦ peuvent se connecter par intermittence au reseau◦ exemple : telephone mobile, agenda electronique, PDA.

• Appareils proposant :◦ une interface graphique riche,◦ posseder une connexion continue au reseau◦ exemple : PDA haut de gamme, smartphone, set top boxes, systeme

de navigation, ...

14 / 38

Page 15: J2ME Mobile

J2ME

La modularite de la plate-forme est assuree par trois concepts :

• Configuration

• Profile

• Package optionnel

15 / 38

Page 16: J2ME Mobile

J2ME

Configuration

• definissent les caracteristiques de bases d’un environnementd’execution pour un certain type de machine possedant unensemble de caracteristiques et de ressources similaires.

• se composent d’une machine virtuelle et d’un ensemble d’API debase.

• Deux configurations sont actuellement definies :

16 / 38

Page 17: J2ME Mobile

J2ME

Configuration

• CLDC (Connected Limited Device Configuration) : specifiee dansla Java Specification Request 030 (JSR 030)◦ concerne des appareils possedant des ressources faibles (moins de 512

Kb de RAM, faible vitesse du processeur, connexion reseau limitee etintermittente)

◦ interface utilisateur reduite (par exemple un telephone mobile ou unPDA ”entree de gamme”)

◦ s’utilise sur une machine virtuelle KVM(Keyboard, Video, Mouse :composant du plus petit environnement d’execution)

◦ une des ameliorations les plus importantes est le support des nombresflottants.

17 / 38

Page 18: J2ME Mobile

J2ME

Image d’appareil pour CLDC

18 / 38

Page 19: J2ME Mobile

J2ME

Configuration

◦ CDC (Connected Device Configuration) : specifiee dans la JSR 036

• concerne des appareils possedant des ressources plus importantes (aumoins 2Mb de RAM, un processeur 32 bits, une meilleure connexion aureseau)

• exemple set top box ou certains PDA ”haut de gamme”• Elle s’utilise sur une machine virtuelle CVM

19 / 38

Page 20: J2ME Mobile

J2ME

Image d’appareil pour CDC

20 / 38

Page 21: J2ME Mobile

J2ME

Les profiles

◦ se composent d’un ensemble d’API particulieres a un type demachines ou a une fonctionnalite specifique

◦ permettent l’utilisation de fonctionnalites precises et doivent etreassocies a une configuration

◦ permettent donc d’assurer une certaine modularite a la plate-formeJ2ME.

21 / 38

Page 22: J2ME Mobile

J2ME

Les profiles

• Il existe plusieurs types de profiles :◦ MIDP : Package javax.microedition. profile standard qui n’est pas

defini pour une machine particuliere mais pour un ensemble demachines embarquees possedant des ressources et une interfacegraphique limitee.

◦ Mobile Media API (MMAPI) 1.1 : Permet la lecture de clips audio etvideo

◦ JDBC optional Profile◦ Wireless Messaging API (WMA) 1.1 : Permet l’envoi et la reception

de SMS

• Motivation : Definir les API minimums pour des ”divices”similaires.

22 / 38

Page 23: J2ME Mobile

J2ME

Le profile Foundation

• 436 classes/interfaces/exceptions

• Packages issus du J2SE (excepte les deprecateds)

23 / 38

Page 24: J2ME Mobile

J2ME

Le profile Personnal Basic

• Cible :◦ Entaitainment device : Game Console, iTV STB, DVB MHP

terminals...◦ Verticals apps : Auto and telematics

(Image des appareils correspondants)

24 / 38

Page 25: J2ME Mobile

J2ME

Le profile Personnal Basic

• Base sur foundation 1.0 (J2ME/CDC)◦ AWT simple◦ Modeles d’applications◦ JavaBeans◦ RMI

25 / 38

Page 26: J2ME Mobile

J2ME

Le profile Personnal

• Profil J2ME/CDC de PersonnalJAVA (anterieur a J2ME)

• cible : Entaitainment device (STB avec des fonctions de Mailer etWeb Browser ...)

• Les APIs du profil Personnal Basic :◦ Applets◦ Serialisation◦ Extension de AWT (multiple frame, windows, dialogs, canvas, panels,

scrollbar, button ...)

26 / 38

Page 27: J2ME Mobile

J2ME

Le profile Personnal

• Profil J2ME/CDC de PersonnalJAVA (anterieur a J2ME)

• cible : Entaitainment device (STB avec des fonctions de Mailer etWeb Browser ...)(Image des appareils supportes)

27 / 38

Page 28: J2ME Mobile

J2ME

Profil Game (JavaGaming.org)

• Profil J2ME/CDC

• Cible : console de jeu fixe, console de jeu mobile + telephone(Image des appareils supportes)

28 / 38

Page 29: J2ME Mobile

J2ME

Profil Game (JavaGaming.org)

• APIs◦ J2SE◦ JAVA 3D

29 / 38

Page 30: J2ME Mobile

J2ME

le profil PDA

• Profil sur J2ME/CDC

• Cible : Assistants personnel (Symbian, PalmOS ...) (Imagepresente les appareils supportes)

30 / 38

Page 31: J2ME Mobile

J2ME

le profil PDA

• APIs :◦ Applications PDAlet◦ UI : AWT◦ PIM, Fichiers, Ports serie

31 / 38

Page 32: J2ME Mobile

Le profil CLDC/MIDP (Mobile Information DeviceProfile)

• Cible : Mobile Information Device (telephone, PDA, Pager)◦ Ecran monochrone ou couleur ¿ 96x54 pixels◦ Ecran tactile, clavier limite (KeyPad)◦ Reseau sans fil bas debit◦ 32KB memoire volatile◦ 128KB memoire non volatile pour les classes MIDP◦ 8KB memoire non volatile pour la persistance des donnees

32 / 38

Page 33: J2ME Mobile

J2ME

Le profil CLDC/MIDP (Mobile Information Device Profile) (Imagepresentant les appareils correspondants)

33 / 38

Page 34: J2ME Mobile

Le profil CLDC/MIDP (Mobile Information DeviceProfile)

• Classes : MIDLet (defini et controle le cycle de vie d’uneapplication)◦ Affichage texte et graphique◦ Persistance dans des fichiers structures◦ Timer, User events◦ Reseaux : HttpConnexion, UDP, SMS/MMS, ...

34 / 38

Page 35: J2ME Mobile

J2ME

Le profil CLDC/MIDP (Mobile Information Device Profile)

• Classes : MIDLet (defini et controle le cycle de vie d’uneapplication)◦ Affichage texte et graphique◦ Persistance dans des fichiers structures◦ Timer, User events◦ Reseaux : HttpConnexion, UDP, SMS/MMS, ...

35 / 38

Page 36: J2ME Mobile

J2ME

Le profil CLDC/MIDP (Mobile Information Device Profile) (Imagepresentant le truc)

36 / 38

Page 37: J2ME Mobile

Mise en oeuvre sous NetBeans

• Netbeans : environnement de developpment pour java, place enopen source par Sun sous licence CDDL

• Installer Netbeans :http : //www .netbeans.info/downloads/index .php

• Mobility Pack : plug-in propre a Netbeans qui permet ledeveloppement d’applications J2ME reposant sur MIDP enutilisant un Wireless Toolkit.

• Mobility Pack : http : //www .netbeans.org/kb/50/mobility .html

37 / 38

Page 38: J2ME Mobile

Mise en oeuvre sous eclipse

Les fonctionnalites proposees par EclipseMe :

• Le support de plusieurs Wireless Toolkit

• Un assistant de creation de projets de type Midlet Suite

• Un assistant de creation de Midlets

• Un editeur pour les fichiers .jad

• Une compilation incrementale avec pre-verification

• Le debogage du code des Midlets

• L’execution dans les emulateurs fournis avec le WirelessToolkit

• La creation d’un package pour les applications J2ME

• La creation d’un package obscurci avec Proguard

• Le support du mode ”Over The Air”

38 / 38