Utilisation de NetBeans pour les applications J2ME



Documents pareils
TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Création d un service web avec NetBeans 5.5 et SJAS 9

Java ME : une présentation. Jean-Marc Farinone

Machine virtuelle Java pour Palm TX

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Eclipse atelier Java

Votre premier projet Android

IFT287 Exploitation de base de données relationnelles et orientées objet. Laboratoire Mon premier programme Java en Eclipse

Tutoriel code::blocks

Apprendre Java et C++ avec NetBeans

BIRT (Business Intelligence and Reporting Tools)

Utiliser Dev-C++ .1Installation de Dev-C++ Table des matières

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Bases Java - Eclipse / Netbeans

Warren PAULUS. Android SDK et Android x86

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Once the installation is complete, you can delete the temporary Zip files..

TP1 : Initiation à Java et Eclipse

- TP Programmation Android - NFA024 Conservatoire National des Arts et Métiers

Encadré par : Michel SIMATIC

Le langage C. Séance n 4

wxwidgets dans un environnement Microsoft Windows

APPLICATIONS JAVA. 1. JDBC Java Database Connectivity. Applications Web

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Introduction à Eclipse

Tutoriel de formation SurveyMonkey

Construire des plug-ins pour SAS Management Console SAS 9.1

TP au menu «UI ANDROID»

8. Gestionnaire de budgets

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Initiation à JAVA et à la programmation objet.

Vanilla : Virtual Box

Introduction aux outils BI de SQL Server Tutoriel sur SQL Server Integration Services (SSIS)

1. Installation d'un serveur d'application JBoss:

HOWTO INSTALLATION DB2 et NSE (sous RedHat)

Initiation à Mendeley AUT2012

Manuel d installation de l application Dimona New via SMS

Comment faire un Mailing A partir d une feuille Calc

TD/TP 1 Introduction au SDK d Android

Procédures d'utilisation de Maitre'D

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Portage et développement de jeux Java sur téléphones mobiles. Licence Professionnelle SIL 25 juin 2007

Comment Utiliser les Versions, les Modification, les Comparaisons, Dans les Documents

Guide Pratique EDI NetBeans

Installer Enterprise Miner 5.1 en SAS environnement Windows

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Groupe Eyrolles, 2003, ISBN : X

Prezi. Table des matières

OUTIL DE TRAVAIL COLLABORATIF

WEB page builder and server for SCADA applications usable from a WEB navigator

2. Cliquez Contact Directory of Public Administration. 5. Tapez le mot de passe - Hello (pour OFPA). Changez le mot de passe en cas de

Xavier Costa. «Write once, run anywhere»

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Plan du cours. Historique du langage Nouveautés de Java 7

8. Introduction au logiciel de simulation HYSYS : calcul d'une colonne de distillation.

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Installation et compilation de gnurbs sous Windows

Comment consolider des données

Début de la procédure

1. Base de données SQLite

Guide d usage pour Word 2007

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

USB 598. Quick Start Guide (Windows) Guide de démarrage rapide (Windows) USB Modem. Modem USB.

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Rapport de Mini-Projet en ArcGIS Engine

DEPLOIEMENT MICROSOFT WINDOWS

EXA1415 : Annotations

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Notice d'utilisation Site Internet administrable à distance

OpenPaaS Le réseau social d'entreprise

1.3 Gestion d'une application

Publipostage avec Open Office Writer et Open Office Calc

La base de données XML exist. A. Belaïd

< Atelier 1 /> Démarrer une application web

Publipostage avec Open Office Writer et Open Office Calc (v.3)

Modélisation et Gestion des bases de données avec mysql workbench

Troisième projet Scribus

Manuel BlueFolder ADMINISTRATION

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

OpenOffice Base Gestionnaire de Base de Données

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris

Alfstore workflow framework Spécification technique

BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO.

Cedric Dumoulin (C) The Java EE 7 Tutorial

TP2 : Client d une BDD SqlServer

Les PowerToys pour Windows XP

TwinCAT 3 C++ Création de modules C++ sous TwinCAT 3 VERSION : 1.0 / PH

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

FICHIERS ET DOSSIERS

Manuel de l administrateur

Développement Logiciel

MO-Call pour les Ordinateurs. Guide de l utilisateur

Créer une base de données vidéo sans programmation (avec Drupal)

TP1 : Initiation à Java et Eclipse

Tutoriel. Votre site web en 30 minutes

Transcription:

Utilisation de NetBeans pour les applications J2ME Sommaire 1. Introduction...2 2. Présentation de l EDI NetBeans...2 3. Création d une application en utilisant l éditeur graphique...3 3.1. Création d une application MIDP : mode «Lazy Initialized»...3 3.2. Adapter le code source....5 3.3. Compilation et exécution du projet...6 3.4. Désactivation du mode «Lazy Initialized»...9 4. Création d une application MIDP en utilisant l éditeur de code source....12 4.1. Création du projet...12 4.2. Création du MIDlet...12 5. Affichage de l aide : javadocs...15 6. Utilisation des tutoriaux...15 7. Débogage...15 BTS iris - Lycée Eiffel - Armentières Page 1 sur 16 27/11/2006

1. Introduction Ce tutorial vous montrera les deux manières de créer un projet Java ME Midlet appelé pjtmidletbonjour qui affichera le texte «Bonjour d Armentières» sur le simulateur. 2. Présentation de l EDI NetBeans Pré requis : Installation de NetBeans IDE 5.5 et de NetBeans Mobility Pack 5.5. Projects : - Choix du projet actif - Visualisation des éléments Java du projet Styles d affichage : - Source : codage Java - Screen Design : conception d un seul écran de l IHM en utilisant la palette de composants - Flow Design : conception de l enchaînement des écrans de l IHM en utilisant la palette de composants Palette : Composants graphiques disponibles Inspector : Visualisation de l organisation des composants graphiques Output : Affichage des messages de construction du projet et des sorties console Properties : Visualisation et modification des propriétés du composant graphique Le choix du projet actif (pour l exécution, le débogage, ) s effectue avec un clic droit sur le projet > Set Main Project. Le nom du projet s affiche alors en caractère gras. BTS iris - Lycée Eiffel - Armentières Page 2 sur 16 27/11/2006

Le Flow Design ne doit servir qu à implémenter les différents écrans avec les flèches visualisant les passages de l un à l autre (grâce aux commandes associées). Le Screen Design permet de définir plus précisément les propriétés des composants déposés dans la / les fenêtre(s). L affichage Source permet d introduire votre propre code source en sachant que celui en surbrillance bleue n est pas modifiable. 3. Création d une application en utilisant l éditeur graphique NetBeans IDE vous propose un expert qui vous permet de créer rapidement un projet MIDP. Quand vous créez le projet, vous devez choisir de développer une application en utilisant l éditeur graphique (Visual Mobil Designer) ou l éditeur de code source (Source Code Editor). L éditeur graphique vous permet de dessiner les flots et les écrans utilisés par votre application. Le code source de votre application est créé automatiquement. 3.1. Création d une application MIDP : mode «Lazy Initialized» Choisissez File > New Project (Ctrl-Shift-N). Dans la liste box, choisissez Mobile et Mobile Application, puis Next BTS iris - Lycée Eiffel - Armentières Page 3 sur 16 27/11/2006

Entrez le nom du projet pjmidletbonjour et choisissez votre répertoire de sauvegarde. Validez les deux coches «Set as Main Project» et «Create Hello Midlet» Gardez les sélections d émulateur par défaut ainsi que la Configuration CLDC 1.1 et le Profile MIDP 2.0. Choisissez Finish pour clore la création du projet. BTS iris - Lycée Eiffel - Armentières Page 4 sur 16 27/11/2006

Vérifiez les répertoires et les fichiers créés : Voici une capture d écran de NetBeans après la création de votre projet 3.2. Adapter le code source. Nous allons éditer le code source créé pour le MIDlet. Ouvrez le Screen Design Affichez l écran helloform[form] BTS iris - Lycée Eiffel - Armentières Page 5 sur 16 27/11/2006

Cliquez sur le composant StringItem (ce composant permet d afficher du texte dans une Form). Modifiez sa propriété Text (Hello world!) par «Bonjour d Armentières». Modifiez également sa propriété Label (Hello) par «LblBonjour». StringItem Ce composant est composé d un label et d un texte Form 3.3. Compilation et exécution du projet Choisissez Run > Run Main Project (F6) ou cliquez sur l icône : Agrandissez la fenêtre Output pour afficher correctement les messages de construction de votre projet. Un émulateur est lancé pour afficher le résultat de votre application. Le simulateur est «DefaultColorPhone». Dans la fenêtre de l émulateur, vous pouvez exécuter la commande Launch et Exit de la même manière que sur votre portable. BTS iris - Lycée Eiffel - Armentières Page 6 sur 16 27/11/2006

Appuyez sur Exit pour fermer le MIDlet. Puis cliquez sur le bouton de fermeture de la fenêtre du simulateur. Voici l arborescence des fichiers créés Voici le code source généré par NetBeans : BTS iris - Lycée Eiffel - Armentières Page 7 sur 16 27/11/2006

/* * HelloMidlet.java * * Created on 18 octobre 2006, 15:30 package hello; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /** * * @author frederic public class HelloMidlet extends MIDlet implements CommandListener { /** Creates a new instance of HelloMidlet public HelloMidlet() { private Form helloform; private StringItem hellostringitem; private Command exitcommand; /** This method initializes UI of the application. private void initialize() { // Insert pre-init code here getdisplay().setcurrent(get_helloform()); // Insert post-init code here 2 /** Called by the system to indicate that a command has been invoked on a particular displayable. * @param command the Command that ws invoked * @param displayable the Displayable on which the command was invoked public void commandaction(command command, Displayable displayable) { // Insert global pre-action code here if (displayable == helloform) { if (command == exitcommand) { // Insert pre-action code here exitmidlet(); // Insert post-action code here // Insert global post-action code here /** * This method should return an instance of the display. public Display getdisplay() { return Display.getDisplay(this); 6 /** * This method should exit the midlet. public void exitmidlet() { getdisplay().setcurrent(null); destroyapp(true); notifydestroyed(); /** This method returns instance for helloform component and should be called instead of accessing helloform field directly. * @return Instance for helloform component BTS iris - Lycée Eiffel - Armentières Page 8 sur 16 27/11/2006

public Form get_helloform() { if (helloform == null) { // Insert pre-init code here helloform = new Form(null, new Item[] {get_hellostringitem()); helloform.addcommand(get_exitcommand()); helloform.setcommandlistener(this); // Insert post-init code here return helloform; 3 /** This method returns instance for hellostringitem component and should be called instead of accessing hellostringitem field directly. * @return Instance for hellostringitem component public StringItem get_hellostringitem() { 4 if (hellostringitem == null) { // Insert pre-init code here hellostringitem = new StringItem("LblBonjour\n", "Bonjour d\'armenti\u00e8res"); // Insert post-init code here return hellostringitem; /** This method returns instance for exitcommand component and should be called instead of accessing exitcommand field directly. * @return Instance for exitcommand component public Command get_exitcommand() { if (exitcommand == null) { 5 // Insert pre-init code here exitcommand = new Command("Exit", Command.EXIT, 1); // Insert post-init code here return exitcommand; public void startapp() { initialize(); 1 public void pauseapp() { public void destroyapp(boolean unconditional) { 3.4. Désactivation du mode «Lazy Initialized» Par défaut, la génération de code de NetBeans utilise le mode «lazy». Nous allons le désactiver pour identifier les différences de codage. Remarque : Désactiver le mode «Lazy Initialized» est souvent utile pour pouvoir insérer des modifications dans le codage. Créez un nouveau projet identique au précédent : Choisissez File > New Project (Ctrl-Shift-N). Dans la liste box, choisissez Mobile et Mobile Application, puis Next Entrez le nom du projet pjmidletbonjournonlazy et choisissez votre répertoire de sauvegarde. Validez les deux coches «Set as Main Project» et «Create Hello Midlet» Gardez les sélections d émulateur par défaut ainsi que la Configuration CLDC 1.1 et le Profile MIDP 2.0. Choisissez Finish pour clore la création du projet. Nous allons modifier la génération de code source pour la Form du MIDlet. Ouvrez le Screen Design BTS iris - Lycée Eiffel - Armentières Page 9 sur 16 27/11/2006

Cliquez sur l écran helloform[form] et, dans la fenêtre des propriétés, enlevez la coche «Lazy Initialized». Modifiez la propriété Text du StringItem en «Bonjour d Armentières» Modifiez la propriété Label du StringItem en «LblBonjour» Enlevez la coche «Lazy Initialized» du StringItem Vérifiez le code source généré et comparez le avec l exemple précédent en mode «Lazy Initialized» /* * HelloMidlet.java * * Created on 22 novembre 2006, 13:44 package hello; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /** * * @author frederic public class HelloMidlet extends MIDlet implements CommandListener { /** Creates a new instance of HelloMidlet public HelloMidlet() { private Form FormHello; private StringItem hellostringitem; private Command exitcommand; /** This method initializes UI of the application. private void initialize() { // Insert pre-init code here hellostringitem = new StringItem("LblHello", "Bonjour d\'armentieres"); FormHello = new Form("Titre de la forme", new Item[] {hellostringitem); FormHello.addCommand(get_exitCommand()); FormHello.setCommandListener(this); getdisplay().setcurrent(formhello); // Insert post-init code here 2 BTS iris - Lycée Eiffel - Armentières Page 10 sur 16 27/11/2006

/** Called by the system to indicate that a command has been invoked on a particular displayable. * @param command the Command that ws invoked * @param displayable the Displayable on which the command was invoked public void commandaction(command command, Displayable displayable) { // Insert global pre-action code here if (displayable == FormHello) { if (command == exitcommand) { // Insert pre-action code here exitmidlet(); // Insert post-action code here // Insert global post-action code here /** * This method should return an instance of the display. public Display getdisplay() { 4 return Display.getDisplay(this); /** * This method should exit the midlet. public void exitmidlet() { getdisplay().setcurrent(null); destroyapp(true); notifydestroyed(); /** This method returns instance for exitcommand component and should be called instead of accessing exitcommand field directly. * @return Instance for exitcommand component public Command get_exitcommand() { if (exitcommand == null) { // Insert pre-init code here 3 exitcommand = new Command("Exit", Command.EXIT, 1); // Insert post-init code here return exitcommand; public void startapp() { initialize(); 1 public void pauseapp() { public void destroyapp(boolean unconditional) { Compilez et exécutez le programme Choisissez Run > Run Main Project (F6). Agrandissez la fenêtre Output pour afficher correctement les messages de construction de votre projet. Un émulateur est lancé pour afficher le résultat de votre application. Le simulateur est «DefaultColorPhone». Dans la fenêtre de l émulateur, vous pouvez exécuter la commande Launch et Exit de la même manière que sur votre portable. BTS iris - Lycée Eiffel - Armentières Page 11 sur 16 27/11/2006

4. Création d une application MIDP en utilisant l éditeur de code source. Cette procédure vous permet de programmer une application suivant vos propres exigences ou lorsque l interface graphique ne vous permet pas d aborder des problèmes particuliers (Canvas par exemple). 4.1. Création du projet Choisissez File > New Project (Ctrl-Shift-N) Choisissez la catégorie «Mobile» puis «Mobile Application». Entrez le nom du projet pjthellosource et précisant son répertoire. Validez la coche «Set as Main Project» mais enlevez celle de «Create Hello MIDlet» Valide les paramètres par défaut du Wireless Toolkit Cliquez sur Finish et votre projet est créé. Voici l arborescence créée : Voici une capture d écran du projet dans NetBeans 4.2. Création du MIDlet Créez un nouveau paquetage : Clic droit sur le nœud pjthellosource > New > Java Package Donnez-lui pour nom : pqthello Création du MIDlet : Clic droit sur le paquetage «pqthello» > New > File/Folder Dans la catégorie MIDP, choisissez MIDlet, puis Next Entrez le nom du MIDlet : BonjourMIDlet et vous avez terminé : la clase BonjourMIDlet est créée Double cliquez sur BonjourMIDlet.java et vous affichez le code source dans l éditeur. BTS iris - Lycée Eiffel - Armentières Page 12 sur 16 27/11/2006

Modifiez le code en insérant les caractères gras du listing suivant. /* * BonjourMidlet.java * * Created on 24 novembre 2006, 13:09 package pqthello; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /** * * @author gwenael * @version public class BonjourMidlet extends MIDlet implements CommandListener { private Display objdisplay; private Form helloform; private StringItem hellostringitem; private Command exitcommand; BTS iris - Lycée Eiffel - Armentières Page 13 sur 16 27/11/2006

public BonjourMidlet() { objdisplay = Display.getDisplay (this); hellostringitem = new StringItem("Bienvenue", "Bonjour d'armentières"); exitcommand = new Command("Quitter", Command.EXIT, 1); helloform = new Form(null, new Item[] {hellostringitem); helloform.addcommand(exitcommand); helloform.setcommandlistener(this); 1 public void commandaction(command command, Displayable displayable) { if (command == exitcommand) { objdisplay.setcurrent(null); destroyapp(true); notifydestroyed(); 3 public void startapp() { objdisplay.setcurrent(helloform); 2 public void pauseapp() { public void destroyapp(boolean unconditional) { Lancez l application, vous devez obtenir : BTS iris - Lycée Eiffel - Armentières Page 14 sur 16 27/11/2006

5. Affichage de l aide : javadocs A tout moment dans votre éditeur source, vous pouvez obtenir de l aide en appuyant sur ALT F1, le curseur positionné sur le mot Java posant des problèmes, une page JavaDocs s ouvrira en vous donnant les informations désirées. 6. Utilisation des tutoriaux Dans le menu Help, choisissez Welcome Screen et vous aurez accès à différents Getting Started (liaison Internet nécessaire) On peut par ce menu ajouter de nouvelles fonctionnalité telles que le C++. L écran Welcome Screen vous propose également des exemples de projets (généraux, Web, Mobile, Entreprise, Web Service, ) Dans le menu Help, vous avez également accès aux JavaDoc References (Java EE 5 SDK et JUnit API) 7. Débogage Quand vous démarrez uns session de débogage dans l environnement de NetBeans, l IDE compile les fichiers que vous voulez déboguer, les exécute en mode debug, affiche la fenêtre Debugger Console. Pour démarrer une session de debug, sélectionnez le fichier désiré et utilisez l une des commandes suivantes : Debug Main Project (F5) : exécute les programme jusqu au premier point d arrêt rencontré. Step Into (F7) : idem Run to Cursor (F4) : exécute le programme jusqu à la position du curseur. La fenêtre de Debugger Console ouvre les fenêtres suivantes : Watches, Local Variables et Call Stack. BTS iris - Lycée Eiffel - Armentières Page 15 sur 16 27/11/2006

Liste des différentes fenêtres de débogage : Nom Raccourcis Description Local Variables Alt-Shift-1 Liste les variables locales de la méthode courante Watches Alt-Shift-2 Liste les variables et les expressions que vous désirez visualiser Call Stack Alt-Shift-3 Liste la séquence des appels durant l exécution du thread courant Classes Alt-Shift-4 Affiche la hiérarchie des classes chargées pendant le débogage. Breakpoints Alt-Shift-5 Liste les points d arrêt du projet Session Alt-Shift-6 Liste les sessions de débogage en cours Threads Alt-Shift-7 Liste les threads de la session Sources Alt-Shift-8 Liste les répertoires sources de votre projet. Autres commandes : Step Over (F8) : Exécute l instruction en évitant les appels de méthode. Step Into (F7) : Exécute l instruction en entrant dans les appels de méthode Step Out (Alt-Shif-F7) : Exécute une instruction. Si la ligne de code fait partie d une méthode, les lignes de codes suivantes de la méthode s exécutent et on retourne dans le code de la méthode appelante. Continue (Ctrl-F5) : Continue l exécution de l application. BTS iris - Lycée Eiffel - Armentières Page 16 sur 16 27/11/2006