JAVA TO MICRO EDITION JAVA TO MICRO EDITION
(J2ME) (J2ME)
Réalisé par :
Réalisé par : Encadré par:Encadré par:
--ATICHE KARIMATICHE KARIM Mr. M.ELEULDJMr. M.ELEULDJ --SAYD-SAYD-TAHRI YASSINETAHRI YASSINE
INTRODUCTION INTRODUCTION
On connaît principalement Java en tant On connaît principalement Java en tant qu'environnement de programmation pour qu'environnement de programmation pour
serveurs, centré autour des technologies qui ont serveurs, centré autour des technologies qui ont
permis de réaliser Java 2
permis de réaliser Java 2 EnterpriseEnterprise EditionEdition (J2EE), telles les
(J2EE), telles les EnterpriseEnterprise JavaBeansJavaBeans ((EJBsEJBs), ), les les servletsservlets, et les , et les JavaServerJavaServer pages (pages (JSPsJSPs). ).
Néanmoins, ce langage avait initialement été Néanmoins, ce langage avait initialement été
conçu en tant qu'environnement pour des conçu en tant qu'environnement pour des
applications "
applications "côtécôté--clientclient". En fait, Java avait été ". En fait, Java avait été conçu pour les appareils ménagers. Et
conçu pour les appareils ménagers. Et maintenant, avec Java 2 Micro
maintenant, avec Java 2 Micro EditionEdition, ou J2ME , ou J2ME en raccourci, Java retourne à ses sources.
en raccourci, Java retourne à ses sources.
PLAN PLAN
La plateforme J2ME La plateforme J2ME
Les ConfigurationsLes Configurations
Profile MIDP Profile MIDP
WirelessWireless ToolkitToolkit sous sous EclipseEclipse..
ExempleExemple
ConclusionConclusion
Chiffres Chiffres
Sun a annoncé que 1.5 milliard dispositifs dans le monde sont équipés par le technologie Java.
• 250 millions téléphones mobiles.
• 650 millions ordinateurs.
• 500 millions cartes SIM.
• 100 millions autres locations.
La plateforme J2ME La plateforme J2ME
Collection d’outils qui permettent de développer sur une Collection d’outils qui permettent de développer sur une multitude de systèmes embarqués (terminaux mobiles) .
multitude de systèmes embarqués (terminaux mobiles) .
Une plate-Une plate-forme J2ME est composéeforme J2ME est composée ::
¾¾ Le système d’exploitation : L’environnement doit s’adapter au Le système d’exploitation : L’environnement doit s’adapter au système d’exploitation existant (Windows CE, Palm Os,
système d’exploitation existant (Windows CE, Palm Os, SavaJeSavaJe))
¾¾ d’une «d’une « machine virtuellemachine virtuelle » pour exécuter les application Java.» pour exécuter les application Java.
¾¾ d'une «d'une « configurationconfiguration », une API donnant accès aux fonctions de », une API donnant accès aux fonctions de base du système .
base du système .
¾¾ d'un «d'un « profilprofil », une API donnant accès aux fonctions spécifiques », une API donnant accès aux fonctions spécifiques de la plate forme.
de la plate forme.
Les configurations Les configurations
Sun a divisé le marché des systèmes en deux Sun a divisé le marché des systèmes en deux
grandes catégories:
grandes catégories:
¾¾ La La CDC CDC ((ConnectedConnected DeviceDevice Configuration) est plus Configuration) est plus adaptée aux terminaux relativement puissants comme adaptée aux terminaux relativement puissants comme
les PDA..
les PDA..
¾¾ LaLa CLDCCLDC ((ConnectedConnected LimitedLimited DeviceDevice Configuration) Configuration) est, par contre, dédiée aux appareils avec de faibles
est, par contre, dédiée aux appareils avec de faibles
capacités comme les téléphones portables, les assistants capacités comme les téléphones portables, les assistants
personnels, ou les périphériques légers sans fil.
personnels, ou les périphériques légers sans fil.
La Configuration :CDC La Configuration :CDC
Pour faire tourner CDC, un appareil doit Pour faire tourner CDC, un appareil doit avoir au minimum :
avoir au minimum :
¾¾ 2 Mo de mémoire2 Mo de mémoire
¾¾ Un microprocesseur 32 bitsUn microprocesseur 32 bits
¾¾ Une connexion réseau rapideUne connexion réseau rapide
Exemple:PDA, TV, Décodeur…
Exemple:PDA, TV, Décodeur…
Elle peut être étendue avec des packages RMI Elle peut être étendue avec des packages RMI
(pour les systèmes répartis) ou JDBC (bases de (pour les systèmes répartis) ou JDBC (bases de
données).
données).
La Configuration : CLDC La Configuration : CLDC
Le mobile doit avoir au moins :Le mobile doit avoir au moins :
¾¾ 60ko de mémoire60ko de mémoire
¾¾ Processeur 16bitsProcesseur 16bits
¾¾ Connexion à un réseauConnexion à un réseau
Son API regroupe les fonctions de bases :Son API regroupe les fonctions de bases :
¾¾ java.iojava.io : gestion des Stream: gestion des Stream
¾¾ java.langjava.lang : sous: sous--ensemble du ensemble du java.langjava.lang de J2SE de J2SE (Bytes,
(Bytes, BooleanBoolean, , IntegerInteger, , etcetc))
¾¾ java.utiljava.util : Date, : Date, TimerTimer, , VectorVector……
PROFILE MIDP(Mobile Information
PROFILE MIDP(Mobile Information DeviceDevice Profile)
Profile)
API de haut niveau.API de haut niveau.
javax.microedition.iojavax.microedition.io : gère les connexions avec le réseau.: gère les connexions avec le réseau.
javax.microedition.lcduijavax.microedition.lcdui : pour l’interface utilisateur.: pour l’interface utilisateur.
javax.microedition.midletjavax.microedition.midlet : elle contient la classe MIDlet: elle contient la classe MIDlet qui permet qui permet d’exécuter le cycle de vie de l’application
d’exécuter le cycle de vie de l’application
•• javax.microedition.rmsjavax.microedition.rms : gère le système de stockage persistant sur le : gère le système de stockage persistant sur le mobile.
mobile.
PROFILE MIDP PROFILE MIDP
startAppstartApp()() : cette méthode est appelée a chaque : cette méthode est appelée a chaque lancement du
lancement du MIDletMIDlet
pauseApppauseApp()() : cette méthode est appelée pour mettre en : cette méthode est appelée pour mettre en pause la
pause la MIDletMIDlet en cours d’en cours d’executionexecution
destroyAppdestroyApp()() : cette méthode est appelée pour quitter : cette méthode est appelée pour quitter et détruire la
et détruire la MIDletMIDlet
Cycle de vie d’une
Cycle de vie d’une MIDlet MIDlet
Wireless
Wireless Toolkit Toolkit
Permettre le développement d’ application mobiles sans devoir Permettre le développement d’ application mobiles sans devoir les charger sur un mobile
les charger sur un mobile..
Utilisation d’
Utilisation d’ eclipse eclipse
EclipseMEEclipseME::
ÎÎ permettre le développement d'applications J2ME permettre le développement d'applications J2ME reposant sur MIDP en utilisant un
reposant sur MIDP en utilisant un WirelessWireless ToolkitToolkit. .
Fonctionnalités:Fonctionnalités:
1. Le support de plusieurs Wireless Toolkit
2. Un assistant de création de projets de type Midlet Suite
3. Un assistant de création de Midlets 4. Un éditeur pour les fichiers .jad 5. Le débogage du code des Midlets
6. L'exécution dans les émulateurs fournis avec le WirelessToolkit
7. La création d'un package pour les applications J2ME
Outils Outils
Kit de développement Kit de développement J2MEJ2ME
2.12.1 Wireless
Wireless ToolkitToolkit
Optimiseur Optimiseur 3.23.2
Proguard Proguard
0.75 0.75 EclipseME
EclipseME
IDEIDE 3.0.1
3.0.1 Eclipse
Eclipse
1.4.2_0 1.4.2_0 JDKJDK
RôleRôle Version
Version Outils
Outils
Réalisation
Réalisation
Principe du jeux Principe du jeux
La classe principale Bing est exécutée au démarrage du programmeLa classe principale Bing est exécutée au démarrage du programme et hérite et hérite de la classe
de la classe MIDletMIDlet indispensable au fonctionnement d'un programme MIDPindispensable au fonctionnement d'un programme MIDP
ÎÎ Initialiser l’Initialiser l’affichageaffichage
ÎÎ Instancier la classe Moteur(Cerveau du jeu)Instancier la classe Moteur(Cerveau du jeu) ÎÎ Initialiser le timerInitialiser le timer(vitesse)(vitesse)
TimerBalleTimerBalle hérite de la classe TimerTaskhérite de la classe TimerTask qui impose l'implémentation d'une qui impose l'implémentation d'une méthode
méthode runrun() ()
La classe moteur, à sa construction, va initialiser l'ensemble dLa classe moteur, à sa construction, va initialiser l'ensemble des variables es variables nécessaires au déroulement du jeu
nécessaires au déroulement du jeu ÎÎvitessevitesse ,tailles d'é,tailles d'écran,Zoncran,Zon du jeu.du jeu.
Déploiement Déploiement
JAM (Java Application Manager) ,est chargé de la gestion des appJAM (Java Application Manager) ,est chargé de la gestion des applications lications sur l'appareil
sur l'appareil
JAD (Java Application DescriptorJAD (Java Application Descriptor), est un fichier permettant au JAM de ), est un fichier permettant au JAM de connaître le comportement et les besoins d'une suite de
connaître le comportement et les besoins d'une suite de MIDletsMIDlets
JAR archive compressée incluant toutes les classes Java JAR archive compressée incluant toutes les classes Java nécessaire au bon fonctionnement d'une application
nécessaire au bon fonctionnement d'une application
Conclusion Conclusion
Avec J2ME aujourd'hui, les développeurs Avec J2ME aujourd'hui, les développeurs
peuvent déjà toucher un bon nombre d'usagers.
peuvent déjà toucher un bon nombre d'usagers.
Au fur et à mesure, les avancées technologiques Au fur et à mesure, les avancées technologiques
importantes toucheront le grand public et on y a importantes toucheront le grand public et on y a
déjà remarqué l'importance de la téléphonie.
déjà remarqué l'importance de la téléphonie.