IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java ME Discussion :

Erreur de Compilation MIDlet


Sujet :

Java ME

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Erreur de Compilation MIDlet
    bonjour,

    Je souhaiterais developper une MIDlet pour le moment je fait juste des tests pour apprendre mais il me met un message d'erreur du genre lors de la compilation sous netbeans alors que en mode commande tout ce passe bien:

    voici le message d'erreur lorsque j'essaie de compiler

    Error preverifying class com.sun.comm.Win32ParallelPort
    VERIFIER ERROR com/sun/comm/Win32ParallelPort.<init>(Ljava/lang/StringV:
    Cannot find class java/io/FileOutputStream

    ou alors par moment il veut bien compiler mais lorsque je veux utiliser mon pda il me met : java.lang.NoClassDefFoundError

    auriez vous une solution si vous plais merci

    voici mon code:

    package Port;

    import java.util.*;
    import javax.comm.*;


    public class list {

    static CommPortIdentifier portId;
    static Enumeration portList;

    public static void main(String[] args) {
    portList = CommPortIdentifier.getPortIdentifiers();

    while (portList.hasMoreElements()) {
    portId = (CommPortIdentifier) portList.nextElement();
    System.out.println(portId.getName());

    }
    }
    }

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Points : 239
    Points
    239
    Par défaut
    Plusieurs réponses :
    - javax.* n'est pas supporté en Java ME
    - Ce qui s'exécute sur mobile ce sont des midlets, donc dans ton programme il doit au moins y avoir une classe qui étant la classe MIDlet

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut erreur de compilation (manque package...)
    merci de ta réponse, j'ai parcourue l'intégrale des pages de google pour trouver des tutos mais javax.. est bien utilisé pour la gestion des ports COM pour l'utilisation de javaME. J'ai refais mon programme peut tu regarder ce que tu en pensse et me dire ou est mon probléme si te plais. Mon but est de me connecter à un port comX et recevoir des données. Je te remercie

    package Port;

    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.Enumeration;
    import javax.comm.CommPortIdentifier;
    import javax.comm.SerialPort;
    import javax.comm.SerialPortEventListener;
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.MIDlet;


    public class MidletPort extends MIDlet implements SerialPortEventListener
    {

    public String portCOM;
    public CommPortIdentifier portID = null; //identifiant du port
    public SerialPort serialPort; //le port série
    public BufferedReader fluxLecture; //flux de lecture du port
    public Enumeration PortList;

    public static void main(String[] args)
    {
    PortList=CommPortIdentifier.getPortIdentifier();

    ////////////////////////////////////////////////////////////////////////////////
    /* recherche du port COM4 */
    ////////////////////////////////////////////////////////////////////////////////

    System.out.println("scan des ports... recherche du COM4 ...");

    while (PorList.hasMoreElements())
    {
    portID=(CommPortIdentifier)PortList.nextElement();
    if (portID.getPortType()==CommPortIdentifier.PORT_SERIAL && portID.getName().equals("COM4")){

    System.out.println (portID.getName()+ "trouver");

    ////////////////////////////////////////////////////////////////////////////////
    /* ouverture du port COM4 */
    ////////////////////////////////////////////////////////////////////////////////

    try {
    serialPort = (SerialPort) portID.open("ModeEvenement", 2000);
    } catch (PortInUseException e) {
    }

    ////////////////////////////////////////////////////////////////////////////////
    /* récupération du flux */
    ////////////////////////////////////////////////////////////////////////////////

    try {
    fluxLecture =new BufferedReader( new InputStreamReader(serialPort.getInputStream()));
    } catch (IOException e) {
    }


    }//Fin du if de la boucle while
    }//Fin boucle while
    }//Fin du main


    public void startApp() {
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    }//Fin du MIDlet

  4. #4
    Membre régulier
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2008
    Messages : 80
    Points : 99
    Points
    99
    Par défaut
    je dis peut etre un grosse connerie mais quant tu fait une midlet, il n'y a pas de main normalement tu mets ton code dans la fonction startApp.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Points : 239
    Points
    239
    Par défaut
    Peter P@n ne dis pas de conneries, et de plus je pense que tu cherches plutôt à accéder à l'API javax.microedition.io.Connector.comm

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Points : 239
    Points
    239
    Par défaut
    kiviste,
    Pour faire une Midlet, tu dois te limiter aux APIs CLDC & MIDP et les quelques APIs supplémentaires appelés JSR qui sont supportés par ta VM. C'est tout! Le support du bluetooth est apporté par le JSR 82, que j'ai déjà utilisé pour faire communiquer 2 mobiles entre eux. La spécification contient des exemples et tu devrais pouvoir trouver également des exemples pour faire communiquer un mobile et une autre machine.
    Assure toi avant tout que la VM de ton mobile supporte ce JSR.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Erreur de Compilation MIDlet
    Merci pour ton aide fetchy mais est ce que tu pourrais me présenter un exemple de ton application si te plais , car tout ce que j'essaye ne fonctionne pas......
    cordialement

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Erreur de Compilation MIDlet
    en faite si je te demande ça c'est pour tester que ça fonctionne vraiment sur mon htc car même un petit teste pour voir mes ports Com sur mon pda ou simplement voir la version de mon bluetooth bas rien ne s'affiche.

    voici ce que je teste :

    String ports = System.getProperty("microedition.commports");
    stringItemPorts.setText(ports);
    String vers = System.getProperty("bluetooth.api.version");
    stringItemPorts.setText(vers);

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Points : 239
    Points
    239
    Par défaut
    kiviste,
    je ne peux pas te montrer le code.
    Vu ce que tu obtiens avec System.getProperty les fonctions bluetooth ne sont donc probablement pas supportées par ta VM.
    Tu peux néanmoins essayer de charger une autre JavaMEVM sur ton Htc (qui doit tourner sur windows mobile) et refaire l'essai.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Erreur de Compilation MIDlet
    bonjour,
    du nouveau je viens de voir la configuration de mon pda , chose que j'avais pas encore fait pour le moment et je me rend compte qu'il ne possède pas le jsr 82. pour communiquer avec le bluetooth ça va être un peut dur tu trouve pas??

    mon pda c'est un HTC Touch Cruise (P3650). Après peut être que je me trompe j'ai peut être mal regarder ou peut être qu'il y a possibilité d'inclure le jsr 82.

    Aurais tu une solution à mon problème si te plais.

    Si jamais j'ai raison et que on ne peut pas utiliser java pour communiquer avec le bluetooth sur mon pda est ce qu'il y aurais possibilité avec un autre language comme c# ?

    cordialement

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Points : 239
    Points
    239
    Par défaut
    Bonjour,
    Comme je le disais plus haut il est possible, sur Windows Mobile, d'installer une autre VM Java ME.
    Mais si ta cible est uniquement ce mobile, tu auras plus vite fait de coder en natif.

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo