Upload
jeanfrancoisatemengueebanga
View
243
Download
0
Embed Size (px)
Citation preview
Programmation d’applications pour mobilesJ2ME
Fidel Jiomekong Azanzi
Ecole Nationale Superieure des Posteset Telecommunications (ENSPT)
6 janvier 2012
1 / 38
Introduction
2 / 38
Introduction
• Image d’un telephone de premiere generation
3 / 38
Introduction
4 / 38
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
Introduction
Technologie J2ME et APIs
6 / 38
Introduction
Architecture J2ME
7 / 38
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
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 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
J2ME
• Une machine virtuelle dediee tenant compte des ressources limiteesdu materiel cible
• Un ensemble d’API de base
• Des API specifiques
12 / 38
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
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
J2ME
La modularite de la plate-forme est assuree par trois concepts :
• Configuration
• Profile
• Package optionnel
15 / 38
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
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
J2ME
Image d’appareil pour CLDC
18 / 38
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
J2ME
Image d’appareil pour CDC
20 / 38
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
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
J2ME
Le profile Foundation
• 436 classes/interfaces/exceptions
• Packages issus du J2SE (excepte 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
• Base sur foundation 1.0 (J2ME/CDC)◦ AWT simple◦ Modeles d’applications◦ JavaBeans◦ RMI
25 / 38
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
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
J2ME
Profil Game (JavaGaming.org)
• Profil J2ME/CDC
• Cible : console de jeu fixe, console de jeu mobile + telephone(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 ...) (Imagepresente 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 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
J2ME
Le profil CLDC/MIDP (Mobile Information Device Profile) (Imagepresentant les appareils correspondants)
33 / 38
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
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
J2ME
Le profil CLDC/MIDP (Mobile Information Device Profile) (Imagepresentant le truc)
36 / 38
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
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