Vous êtes sur la page 1sur 38

Programmation dapplications pour mobiles

J2ME

Fid`el Jiomekong Azanzi


Ecole Nationale Sup
erieure des Postes
et T
el
ecommunications (ENSPT)

6 janvier 2012
1 / 38

Introduction

2 / 38

Introduction

Image dun t
elephone de premi`ere generation

3 / 38

Introduction

4 / 38

Introduction

JAVA est un langage objet d


eveloppe dans la societe Sun et

presente le 23 Mai 1995


Il existe diff
erentes plateformes

J2SE : Standard Edition


JAVA EE : anciennement J2EE : Entreprise Edition
J2ME : Mobile Edition (pour les t
el
ephones mobiles)
JAVA CARD : pour les cartes `a puces

Langage interpr
ete
Port
e sous Licence GPL

5 / 38

Introduction
Technologie J2ME et APIs

6 / 38

Introduction
Architecture J2ME

7 / 38

Introduction

Sp
ecification MSA (Mobile Service Architecture) : definie une

architecture et une plateforme pour la programmation mobile


On a 2 MSA : MSA de base pour les plateformes bas
ees CLDC et

le MSA avance pour les plateformes basees CDC

8 / 38

Introduction
The MSA Specification APIs (JSR 248)

9 / 38

Introduction
Relationship Between CLDC and CDC

10 / 38

J2ME

retour aux sources : Java avait


ete initialement developpe pour

piloter des appareils electroniques


J2ME : plate-forme Java pour d
evelopper des applications sur des
appareils mobiles

11 / 38

PDA,
des telephones cellulaires,
des terminaux de points de vente,
des syst`emes de navigation pour voiture,
etc.

J2ME

Une machine virtuelle d


ediee tenant compte des ressources limitees

du materiel cible
Un ensemble dAPI de base
Des API sp
ecifiques

12 / 38

J2ME

Elle est compos


ee de plusieurs elements :

13 / 38

Des
Des
Des
Des

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

J2ME

Definit deux grandes familles dappareils :


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, syst`eme
de navigation, ...

14 / 38

J2ME

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


Configuration
Profile
Package optionnel

15 / 38

J2ME

Configuration
d
efinissent les caracteristiques de bases dun environnement

dexecution pour un certain type de machine possedant un


ensemble de caracteristiques et de ressources similaires.
se composent dune machine virtuelle et dun ensemble dAPI de

base.
Deux configurations sont actuellement d
efinies :

16 / 38

J2ME
Configuration
CLDC (Connected Limited Device Configuration) : sp
ecifiee dans
la 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 et
intermittente)
interface utilisateur reduite (par exemple un telephone mobile ou un
PDA entree de gamme)
sutilise sur une machine virtuelle KVM(Keyboard, Video, Mouse :
composant du plus petit environnement dexecution)
une des ameliorations les plus importantes est le support des nombres
flottants.

17 / 38

J2ME

Image dappareil pour CLDC

18 / 38

J2ME

Configuration
CDC (Connected Device Configuration) : specifiee dans la JSR 036
concerne des appareils poss
edant des ressources plus importantes (au

moins 2Mb de RAM, un processeur 32 bits, une meilleure connexion au


reseau)
exemple set top box ou certains PDA haut de gamme
Elle sutilise sur une machine virtuelle CVM

19 / 38

J2ME

Image dappareil pour CDC

20 / 38

J2ME

Les profiles
se composent dun ensemble dAPI particuli`eres `a un type de
machines ou `a une fonctionnalite specifique
permettent lutilisation de fonctionnalites precises et doivent etre
associes `a une configuration
permettent donc dassurer une certaine modularite `a la plate-forme
J2ME.

21 / 38

J2ME
Les profiles
Il existe plusieurs types de profiles :
MIDP : Package javax.microedition. profile standard qui nest pas
defini pour une machine particuli`ere mais pour un ensemble de
machines embarquees possedant des ressources et une interface
graphique limitee.
Mobile Media API (MMAPI) 1.1 : Permet la lecture de clips audio et
video
JDBC optional Profile
Wireless Messaging API (WMA) 1.1 : Permet lenvoi et la reception
de SMS
Motivation : D
efinir les API minimums pour des divices

similaires.
22 / 38

J2ME

Le profile Foundation
436 classes/interfaces/exceptions
Packages issus du J2SE (except
e les deprecateds)

23 / 38

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

J2ME

Le profile Personnal Basic


Bas
e sur foundation 1.0 (J2ME/CDC)

25 / 38

AWT simple
Mod`eles dapplications
JavaBeans
RMI

J2ME

Le profile Personnal
Profil J2ME/CDC de PersonnalJAVA (ant
erieur `a J2ME)
cible : Entaitainment device (STB avec des fonctions de Mailer et

Web Browser ...)


Les APIs du profil Personnal Basic :
Applets
Serialisation
Extension de AWT (multiple frame, windows, dialogs, canvas, panels,
scrollbar, button ...)

26 / 38

J2ME

Le profile Personnal
Profil J2ME/CDC de PersonnalJAVA (ant
erieur `a J2ME)
cible : Entaitainment device (STB avec des fonctions de Mailer et

Web Browser ...)


(Image des appareils supportes)

27 / 38

J2ME

Profil Game (JavaGaming.org)


Profil J2ME/CDC
Cible : console de jeu fixe, console de jeu mobile + t
elephone

(Image des appareils supportes)

28 / 38

J2ME

Profil Game (JavaGaming.org)


APIs
J2SE
JAVA 3D

29 / 38

J2ME

le profil PDA
Profil sur J2ME/CDC
Cible : Assistants personnel (Symbian, PalmOS ...) (Image

presente les appareils supportes)

30 / 38

J2ME

le profil PDA
APIs :
Applications PDAlet
UI : AWT
PIM, Fichiers, Ports serie

31 / 38

Le profil CLDC/MIDP (Mobile Information Device


Profile)

Cible : Mobile Information Device (t


elephone, 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

J2ME

Le profil CLDC/MIDP (Mobile Information Device Profile) (Image


presentant les appareils correspondants)

33 / 38

Le profil CLDC/MIDP (Mobile Information Device


Profile)

Classes : MIDLet (d
efini et contr
ole le cycle de vie dune

application)

34 / 38

Affichage texte et graphique


Persistance dans des fichiers structures
Timer, User events
Reseaux : HttpConnexion, UDP, SMS/MMS, ...

J2ME

Le profil CLDC/MIDP (Mobile Information Device Profile)


Classes : MIDLet (d
efini et contr
ole le cycle de vie dune
application)

35 / 38

Affichage texte et graphique


Persistance dans des fichiers structures
Timer, User events
Reseaux : HttpConnexion, UDP, SMS/MMS, ...

J2ME

Le profil CLDC/MIDP (Mobile Information Device Profile) (Image


presentant le truc)

36 / 38

Mise en oeuvre sous NetBeans

Netbeans : environnement de d
eveloppment pour java, place en

open source par Sun sous licence CDDL


Installer Netbeans :

http : //www .netbeans.info/downloads/index.php


Mobility Pack : plug-in propre `
a Netbeans qui permet le

developpement dapplications J2ME reposant sur MIDP en


utilisant un Wireless Toolkit.
Mobility Pack : http : //www .netbeans.org /kb/50/mobility .html

37 / 38

Mise en oeuvre sous eclipse


Les fonctionnalites proposees par EclipseMe :
Le support de plusieurs Wireless Toolkit
Un assistant de cr
eation de projets de type Midlet Suite
Un assistant de cr
eation de Midlets
Un
editeur pour les fichiers .jad
Une compilation incr
ementale avec pre-verification
Le d
ebogage du code des Midlets
Lex
ecution dans les emulateurs fournis avec le WirelessToolkit
La cr
eation dun package pour les applications J2ME
La cr
eation dun package obscurci avec Proguard
Le support du mode Over The Air
38 / 38

Vous aimerez peut-être aussi