J2ME : MIDP 2.0 vs DOJA

Transcription

J2ME : MIDP 2.0 vs DOJA
J2ME : MIDP 2.0 vs DOJA
KARAGIANNIS Antonios
YALIOUA Ouali
27 février 2006
GRETR : MIDP vs DOJA
1
Introduction

Systèmes embarqués


OS embarqués




2002 : 98% des processeurs sont embarqués
Windows CE
PalmOS
Symbian
L’alternative Java : J2ME
27 février 2006
GRETR : MIDP vs DOJA
2
Quelques chiffres
Millions 1200
1000
800
600
400
200
Téléphones
J2ME
0
2003
2004
2006
Source : ARC Group
27 février 2006
GRETR : MIDP vs DOJA
3
Plan





J2ME : Java 2 Micro Edition
MIDP
DoJa
Récapitulatif
Conclusion
27 février 2006
GRETR : MIDP vs DOJA
4
Architecture JAVA
27 février 2006
GRETR : MIDP vs DOJA
5
J2ME

Définition

Plateforme Java pour machine limitée





Processeurs lents
Mémoire limitée
Petite taille d’écran
KVM : machine virtuelle adaptée
API orientée téléphonie mobile


27 février 2006
Configurations : CLDC
Profils : MIDP, DoJa
GRETR : MIDP vs DOJA
6
MIDP
Mobile Information Device Profile
27 février 2006
GRETR : MIDP vs DOJA
7
Historique



1998 : Projet Spotless
1999 : Présentation de J2ME par Sun, standardisation
Consortium 2000 (septembre)


Nokia, Motorola, Erickson, Symbian …
Mobile Information Device Profil


27 février 2006
Version 1.0
Version 2.0
GRETR : MIDP vs DOJA
8
MIDlet

Contenu d’une MIDlet

un fichier jad : description des classes





Taille
Classe principale
Adresse des classes
un fichier jar : ensemble des classes pré-vérifiées
La classe MIDlet
27 février 2006
GRETR : MIDP vs DOJA
9
Cycle de vie

Les états d’une application



Pause : initialisée et en attente
Actif : exécute sur le
processeur
Détruit : fin d’exécution,
libération des ressources
27 février 2006
GRETR : MIDP vs DOJA
10
Fonctionnalités

MIDP 2.0




API pour les jeux et l’audio
Interface utilisateur
Stockage des données
Connexion réseau et sécurité
27 février 2006
GRETR : MIDP vs DOJA
11
L’interface utilisateur


Réduite
La classe Display



Saisie de texte
Liste
Ajout d’éléments graphiques


Barre de progression, image, date
Message d’erreur
27 février 2006
GRETR : MIDP vs DOJA
12
Interface utilisateur (suite)
27 février 2006
GRETR : MIDP vs DOJA
13
RMS ou le stockage persistent des
données




Record Management System
≈ base de données
Partagée entre les MIDlets d’un même package
Opérations simples


Ajout, Suppression
Comparaison, énumération, filtres, dernières modifications
27 février 2006
GRETR : MIDP vs DOJA
14
Connexion réseau et sécurité

Connexions




http & https
Socket
Datagram
Exemples


Serveur de temps
Serveur SMTP
http://developers.sun.com/techtopics/mobility/midp/articles/midp2network/
27 février 2006
GRETR : MIDP vs DOJA
15
Exemple
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public void startApp() {
d.setCurrent (t);
}
public class HelloWorld extends MIDlet implements
public void pauseApp() {}
CommandListener {
private Command c;
private Display d;
private TextBox t = null;
public void destroyApp (boolean
unconditional) {}
public void commandAction (Command
myCommand, Displayable myDisplayable) {
if (myCommand == c) {
destroyApp (false);
notifyDestroyed ();
}
}
public HelloWorld () {
d = Display.getDisplay (this);
c = new Command ("Sortie", Command.EXIT, 2);
t = new TextBox ("HelloWorldMIDlet", "Hello World", 256,
0);
t.addCommand (c);
t.setCommandListener (this);
}
}
27 février 2006
GRETR : MIDP vs DOJA
16
Exemple
27 février 2006
GRETR : MIDP vs DOJA
17
DoJa
Docomo Java
27 février 2006
GRETR : MIDP vs DOJA
18
DoJa

Doja :
27 février 2006
•
Pour terminaux i-mode
•
Technologie java basé sur le CLDC
•
Java for i-mode
•
année 1999 par NTT-Docomo
•
30 millions d’abonné
•
c’est un Profil
GRETR : MIDP vs DOJA
19
L’environnement applicatif
27 février 2006
GRETR : MIDP vs DOJA
20
Cycle de vie

La classe com.nttdocomo.ui.Iapplication
Gestion du cycle de vie:



27 février 2006
Iapplication.start()
Iapplication.terminate()
Iapplication.resume()
GRETR : MIDP vs DOJA
21
Interface Utilisateur

Fonctionnalités de l’interface utilisateur




L’API de haut niveau

Composants

Dépendance par rapport aux caractéristiques matérielles
concevoir des éléments aux fonctionnalités figées


L’API de bas niveau


Création de composants génériques (Bouton, Label…)
Gestion d’évènements
Gestion de disposition
Taille de l’écran, propriété du téléphone
L’écran (Panel ou Canvas)
27 février 2006
GRETR : MIDP vs DOJA
22
L’API de Haut Niveau

L’API de Haut Niveau


Le Panel : un conteneur de composant
com.nttdocomo.ui.Component







27 février 2006
Label
ImageLabel
Button
ListBox
TextBox
Ticker
VisualPresenter
GRETR : MIDP vs DOJA
23
Exemple de Label
import com.nttdocomo.ui.*;
public class LabelDemo extends IApplication{
private Label monLabel;
private Panel monPanel;
public LabelDemo(){
//appel du constructeur de IApplication
super();
//initialisation du Panel.
monPanel=new Panel();
monPanel.setTitle("mon titre de Panel");
try{
//initialisation du Label avec un texte centré.
monLabel=
new Label("mon label",Label.CENTER);
27 février 2006
//ajout du Label au Panel.
monPanel.add(monLabel);
}
//Génèrée en cas d'alignement spécifié
incorect (ex : Label.CENTER).
catch (IllegalArgumentException e){
System.out.println(e.getMessage());}
}
public void start(){
//affichage du Panel.
Display.setCurrent(monPanel);
}
}
GRETR : MIDP vs DOJA
24
Résultat de l’exemple
27 février 2006
GRETR : MIDP vs DOJA
25
L’API de Haut Niveau

L’API de Haut Niveau








Position des composants


Label
ImageLabel
Button
ListBox
TextBox
Ticker
VisualPresenter
LayoutManager ou Méthode setLocation()
L’API de Bas Niveau


27 février 2006
Classe Canvas : une zone graphique
Paint() à redéfinir
GRETR : MIDP vs DOJA
26
Gestionnaire d’évènements

EventListener : un écouteur d’évènement enregistré auprès d’un générateur
d’évènement(Panel ou MediaPresenter)

5 types d’événements





27 février 2006
ComponentListener
SoftKeyListener
KeyListener
MediaListener
TimerListener
GRETR : MIDP vs DOJA
27
Contrôle des communications

Applications autonomes


Calculatrice, utilitaires…
Programmation Client-Serveur

http


HttpConnection
Https
27 février 2006
GRETR : MIDP vs DOJA
28
Gestions des ressources

Le SratchPad : Zone de stockage


27 février 2006
L’URL : sratchpad:///0
pos représente un index (en octet) à partir du début de la zone du scrathpad
allouée à l’application
GRETR : MIDP vs DOJA
29
Accès à la Plate-forme Matérielle
La Classe PhoneSystem

Package com.nttdocomo.ui
Méthode setAttribut()

27 février 2006
GRETR : MIDP vs DOJA
30
Conclusion
Aujourd'hui on se retrouve avec deux profil DoJa et MIDP.
Quelles sont les différences?
Il y en a principalement 3.

La première différence porte sur l'API elle-même.
i-Mode repose sur celles-ci :
- com.nttdocomo.io
- com.nttdocomo.util
- com.nttdocomo.ui
- com.nttdocomo.net
-javax.microedition.io
27 février 2006
MIDP repose sur les classes suivantes :
javax.microedition.midlet
javax.microedition.lcdui
javax.microedition.rms
javax.microedition.io
GRETR : MIDP vs DOJA
31
Conclusion
-
La seconde différence :
Une iAppli, étend com.nttdocomo.ui.IApplication
Un MIDlet, étend javax.microedition.midlet.
Une iAppli implémente
une méthode obligatoire, start()
deux méthodes optionnelles, resume() et terminate().
Un MIDlet implémente
trois méthodes obligatoires, startApp(), pauseApp() et destroyApp().
-
La dernière différence :
La limitation de la taille des fichiers .jar.
Les iAppli : 10Ko
Les MIDlets : 50 Ko

Dans l'avenir ils devrait fusionner.
27 février 2006
GRETR : MIDP vs DOJA
32
Bibliographie




www.electronique.biz
http://java.sun.com/
http://www.imode.fr
MIDP – MOBILE INFORMATION DEVICE PROFILE
Juha-Pekka Ruuskanen
27 février 2006
GRETR : MIDP vs DOJA
33
Questions
?
27 février 2006
GRETR : MIDP vs DOJA
34

Documents pareils