You are on page 1of 37

Master 1 RAM

Programmation dapplications pour mobiles


J2ME
Master 1 RAM
Fid`el Jiomekong Azanzi
Universite de Yaounde 1-Departement
dInformatique
2 decembre 2011
1 / 38
Master 1 RAM Introduction
2 / 38
Master 1 RAM Introduction

Image dun telephone de premi`ere generation


3 / 38
Master 1 RAM Introduction
4 / 38
Master 1 RAM Introduction

JAVA est un langage objet developpe dans la societe Sun et


presente le 23 Mai 1995

Il existe dierentes 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
Master 1 RAM Introduction
Technologie J2ME et APIs
6 / 38
Master 1 RAM Introduction
Architecture J2ME
7 / 38
Master 1 RAM
The MSA Specication APIs (JSR 248) The Mobile Service
Architecture (MSA) specication denes a common architecture and
programming platform for wireless handsets. Like its predecessor, Java
Technology for the Wireless Industry (JSR 185), MSA is an umbrella
Java specication, a collection of familiar, updated, and new JSRs
that cooperate to support applications with a wide range of
standardized capabilities.
Two avors of MSA are dened : The basic MSA (JSR 248) addresses
CLDC-based platforms, and the MSA-Advanced (JSR 249) addresses
CDC-based platforms. The architectures dene a comprehensive
structure of APIs aimed at facilitating development and deployment of
the widest possible variety of applications, in a form that will be easily
portable across the broadest possible spectrum of mobile devices.
8 / 38
Master 1 RAM Introduction
The MSA Specication APIs (JSR 248)
9 / 38
Master 1 RAM Introduction
Relationship Between CLDC and CDC
10 / 38
Master 1 RAM J2ME

retour aux sources : Java avait ete initialement developpe pour


piloter des appareils electroniques

J2ME : plate-forme Java pour developper des applications sur des


appareils mobiles
PDA,
des telephones cellulaires,
des terminaux de points de vente,
des syst`emes de navigation pour voiture,
etc.
11 / 38
Master 1 RAM J2ME

Une machine virtuelle dediee tenant compte des ressources limitees


du materiel cible

Un ensemble dAPI de base

Des API speciques


12 / 38
Master 1 RAM J2ME

Elle est composee de plusieurs elements :


Des specications
Des machines virtuelles
Des API dediees
Des outils pour le developpement, le deploiement et la conguration
13 / 38
Master 1 RAM J2ME
Denit 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, pagers, ...)

Appareils proposant une interface graphique riche, possedant une


connexion continue au reseau (exemple : PDA haut de gamme,
smartphone, set top boxes, syst`eme de navigation, ...)
14 / 38
Master 1 RAM J2ME
La modularite de la plate-forme est assuree par trois concepts :

Conguration

Prole

Package optionnel
15 / 38
Master 1 RAM J2ME
Conguration

denissent les caracteristiques de bases dun environnement


dexecution pour un certain type de machine possedant un
ensemble de caracteristiques et de ressources similaires. Elles se
composent dune machine virtuelle et dun ensemble dAPI de base.

Deux congurations sont actuellement denies :


CLDC (Connected Limited Device Conguration) : speciee dans la
JSR 030 (Java Specication Request)
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
ottants.
16 / 38
Master 1 RAM J2ME
Image dappareil pour CLDC
17 / 38
Master 1 RAM J2ME
Conguration
CDC (Connected Device Conguration) : speciee dans la JSR 036
concerne des appareils possedant 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
18 / 38
Master 1 RAM J2ME
Image dappareil pour CDC
19 / 38
Master 1 RAM J2ME
Les proles
se composent dun ensemble dAPI particuli`eres `a un type de
machines ou `a une fonctionnalite specique
permettent lutilisation de fonctionnalites precises et doivent etre
associes `a une conguration
permettent donc dassurer une certaine modularite `a la plate-forme
J2ME.
20 / 38
Master 1 RAM J2ME
Les proles

Il existe plusieurs types de proles :


MIDP : Package javax.microedition. prole standard qui nest pas
deni 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 Prole
Wireless Messaging API (WMA) 1.1 : Permet lenvoi et la reception
de SMS

Motivation : Denir les API minimums pour des divices


similaires.
21 / 38
Master 1 RAM J2ME
Le prole Foundation

436 classes/interfaces/exceptions

Packages issus du J2SE (excepte les deprecateds)


22 / 38
Master 1 RAM J2ME
Le prole Personnal Basic

Cible :
Entaitainment device : Game Console, iTV STB, DVB MHP
terminals...
Verticals apps : Auto and telematics
(Image des appareils correspondants)
23 / 38
Master 1 RAM J2ME
Le prole Personnal Basic

Base sur foundation 1.0 (J2ME/CDC)


AWT simple
Mod`eles dapplications
JavaBeans
RMI
24 / 38
Master 1 RAM J2ME
Le prole Personnal

Prol J2ME/CDC de PersonnalJAVA (anterieur `a J2ME)

cible : Entaitainment device (STB avec des fonctions de Mailer et


Web Browser ...)

Les APIs du prol Personnal Basic :


Applets
Serialisation
Extension de AWT (multiple frame, windows, dialogs, canvas, panels,
scrollbar, button ...)
25 / 38
Master 1 RAM J2ME
Le prole Personnal

Prol J2ME/CDC de PersonnalJAVA (anterieur `a J2ME)

cible : Entaitainment device (STB avec des fonctions de Mailer et


Web Browser ...)
(Image des appareils supportes)
26 / 38
Master 1 RAM J2ME
Prol Game (JavaGaming.org)

Prol J2ME/CDC

Cible : console de jeu xe, console de jeu mobile + telephone


(Image des appareils supportes)
27 / 38
Master 1 RAM J2ME
Prol Game (JavaGaming.org)

APIs
J2SE
JAVA 3D
28 / 38
Master 1 RAM J2ME
le prol PDA

Prol sur J2ME/CDC

Cible : Assistants personnel (Symbian, PalmOS ...) (Image


presente les appareils supportes)
29 / 38
Master 1 RAM J2ME
le prol PDA

APIs :
Applications PDAlet
UI : AWT
PIM, Fichiers, Ports serie
30 / 38
Master 1 RAM Le prol CLDC/MIDP (Mobile Information Device
Prole)

Cible : Mobile Information Device (telephone, PDA, Pager)


Ecran monochrone ou couleur 96x54 pixels
Ecran tactile, clavier limite (KeyPad)
Reseau sans l bas debit
32KB memoire volatile
128KB memoire non volatile pour les classes MIDP
8KB memoire non volatile pour la persistance des donnees
31 / 38
Master 1 RAM J2ME
Le prol CLDC/MIDP (Mobile Information Device Prole) (Image
presentant les appareils correspondants)
32 / 38
Master 1 RAM Le prol CLDC/MIDP (Mobile Information Device
Prole)

Classes : MIDLet (deni et controle le cycle de vie dune


application)
Achage texte et graphique
Persistance dans des chiers structures
Timer, User events
Reseaux : HttpConnexion, UDP, SMS/MMS, ...
33 / 38
Master 1 RAM J2ME
Le prol CLDC/MIDP (Mobile Information Device Prole)

Classes : MIDLet (deni et controle le cycle de vie dune


application)
Achage texte et graphique
Persistance dans des chiers structures
Timer, User events
Reseaux : HttpConnexion, UDP, SMS/MMS, ...
34 / 38
Master 1 RAM J2ME
Le prol CLDC/MIDP (Mobile Information Device Prole) (Image
presentant le truc)
35 / 38
Master 1 RAM Mise en oeuvre sous NetBeans

Netbeans : environnement de developpment 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


36 / 38
Master 1 RAM 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 chiers .jad

Une compilation incrementale avec pre-verication

Le debogage du code des Midlets

Lexecution dans les emulateurs fournis avec le WirelessToolkit

La creation dun package pour les applications J2ME

La creation dun package obscurci avec Proguard

Le support du mode Over The Air


37 / 38

You might also like