Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : simulateur toolkit [ Réseau & internet / JavaServerPage (JSP) ] (ensisou)

mardi 15 juillet 2008 à 11:53:39 | simulateur toolkit

ensisou



Salut,
Je dévelloppe une gateway GSM pour l'envoie et la reception de SMS en utilisant un simulateur Toolkit wireless la compilation se fait avec succée mais a l'éxécution  il m'affiche les message suivants:

Unable to create MIDlet EnvoiSMS
javax.microedition.global.ResourceException: Not found metafile for base name "res"
    at com.sun.j2me.global.AppResourceManagerFactory.getMetafileForBaseName(+115)
    at com.sun.j2me.global.AppResourceManagerFactory.getManager(+5)
    at com.sun.j2me.global.AppResourceManagerFactory.getManager(+48)
    at com.sun.j2me.global.ResourceManagerImpl.getManager(+96)
    at com.sun.j2me.global.ResourceManagerImpl.getManager(+26)
    at javax.microedition.global.ResourceManager.getManager(+4)
    at EnvoiSMS.<init>(+10)
    at java.lang.Class.runCustomCode(+0)
    at com.sun.midp.midlet.MIDletState.createMIDlet(+34)
    at com.sun.midp.midlet.Selector.run(+22)
si vous pouvez m'aider voila mon code

import javax.microedition.global.ResourceManager;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;

import java.io.*;
/**
 *@author Carabuck
 *@version 1.0<br><br>
 * Cette classe, appelée par la MIDlet EnvoiSMS, se contente de permettre la saisie du message<br>
 * et d'envoyer le SMS complet par une connexion basée sur le port 50000.
 */
public class ControleurSMS implements CommandListener, Runnable {
   
    ResourceManager res = ResourceManager.getManager("res");
    String Envoyer = new String(res.getString(5));
    String Retour = new String(res.getString(6));
    String EntrerMsg = new String(res.getString(7));
    String Msgcorrect = new String(res.getString(8));
    String Enseignant = new String(res.getString(28));
    String Cours = new String(res.getString(29));
    String Salle = new String(res.getString(30));
    String Heureres = new String(res.getString(31));
    String Message = new String(res.getString(32));
  
    Command CommandEnvoyer = new Command(Envoyer, Command.OK, 1);
    Command CommandRetour = new Command(Retour, Command.BACK, 2);
    Display Affichage;
    String PortSMS;
    String NumeroDestination;
    Displayable EcranRetour; 
    Displayable EcranEnvoi;
    Form FenetreInfos;
    TextField NomEnseignant;
    TextField NomCours;
    TextField NomSalle;
    TextField Heure;
    TextField Msg;
    /**
     *@param PortSMS Port utilisé par l'application (50000)
     *@param Affichage Interface visuelle utilisée
     *@param EcranRetour Fenêtre affichée lors du choix "Retour"
     *@param EcranEnvoi Fenêtre affichée lors du choix "Envoyer"
     */
    public ControleurSMS(String PortSMS, Display Affichage,
        Displayable EcranRetour, Displayable EcranEnvoi) {
        this.PortSMS = PortSMS;
        this.Affichage = Affichage;
        this.NumeroDestination = null;
        this.EcranRetour = EcranRetour;
        this.EcranEnvoi = EcranEnvoi;
      
        FenetreInfos = new Form("Message");
        NomEnseignant = new TextField(Enseignant, "", 50, 0);
        NomCours = new TextField("Nom du cours", "", 50, 0);
        NomSalle = new TextField(Salle, "", 50, 0);
        Heure = new TextField(Heureres, "", 50, 0);
        Msg = new TextField(Message, "", 50, 0);      
        FenetreInfos.append(NomEnseignant);
        FenetreInfos.append(NomCours);
        FenetreInfos.append(NomSalle);
        FenetreInfos.append(Heure);
        FenetreInfos.append(Msg);
        FenetreInfos.addCommand(CommandRetour);    //Exemple d'ajout d'une commande pour la navigation
        FenetreInfos.addCommand(CommandEnvoyer);
        FenetreInfos.setCommandListener(this);

    }
    /**
     * Méthode qui récupère le numéro de téléphone passé en paramètre dans EnvoiSMS et qui appelle la fenêtre de saisie du message.
     *@param NumeroDestination Numéro de téléphone passé en paramètre lors de la saisie par l'utilisateur
     */
    public void ConfirmeretEnvoyer(String NumeroDestination)    //On récupère le numéro de téléphone saisi dans EnvoiSMS pour passer à la saisie du message
    {
        this.NumeroDestination = NumeroDestination;
        Affichage.setCurrent(FenetreInfos);
    }
    /**
     * Méthode permettant de définir les évènements à produire selon la commande choisie par l'utilisateur.
     *@param commande Commande choisie par l'utilisateur: "Retour" ou "Envoyer"
     *@param affichage Interface visuelle actuelle
     *@throws ExceptionCommande Au cas où une erreur surviendrait durant l'exécution d'une commande
     */
    public void commandAction(Command commande, Displayable affichage) {    //commandAction permet de définir les évènements liées aux actions que choisit l'utilisateur
        try {
            if (commande == CommandRetour) {
                Affichage.setCurrent(EcranRetour);
            } else if (commande == CommandEnvoyer) {
                Affichage.setCurrent(EcranEnvoi);
                new Thread(this).start();  
            }
        } catch (Exception ExceptionCommande) {
            ExceptionCommande.printStackTrace();
        }
    }
    /**
     * Méthode servant à stopper l'application.
     *@param booleen Cette variable prend true ou false comme valeur afin de déterminer si l'on détruit l'application ou non
     */
    public void destroyApp(boolean booleen) {
    }
    /**
     * Méthode d'éxecution principale de la classe contenant les instructions d'envoi du SMS via un SocketConnection.
     *@throws ExceptionSMS Au cas où une erreur surviendrait durant l'envoi du SMS vers le serveur Web
     */
    public void run() {

        String NE = "(1)"+NomEnseignant.getString();
        String NC = "(2)"+NomCours.getString();
        String NS = "(3)"+NomSalle.getString();
        String H = "(4)"+Heure.getString();
        String M = "(5)"+Msg.getString()+"/";
        String ligne = " ";  
        Alert ConfirmationMessage = new Alert("Confirmation", Msgcorrect + NumeroDestination, null, AlertType.INFO);    //Message pour confirmer le bon envoi du SMS
        ConfirmationMessage.setTimeout(50000);
      
        try {
                  SocketConnection socketconnection = (SocketConnection)
                 Connector.open("socket://localhost:" + PortSMS);    //Ouverture du port 50000 associée au localhost(serveur)
                                        
                      OutputStream FluxSortie = null;        //Création d'un flux de sortie pour les données
                      FluxSortie = socketconnection.openOutputStream();    //On rattache la connexion sur le port 50000 au flux de sortie
                     byte[] donnees1 = NumeroDestination.getBytes();        //L'envoi de données étant plus simple à gérer avec des bytes,                                                                                                          
                     byte[] donnees2 = ligne.getBytes();                    //on convertit les données:le numéro du destinataire et le message vers ce format
                    byte[] donnees3 = NE.getBytes();
                    byte[] donnees4 = NC.getBytes();
                    byte[] donnees5 = NS.getBytes();
                    byte[] donnees6 = H.getBytes();
                    byte[] donnees7 = M.getBytes();
                    FluxSortie.write(donnees1);        //Ecriture des données bytes sur le flux de sortie
                    FluxSortie.write(donnees2);
                    FluxSortie.write(donnees3);
                    FluxSortie.write(donnees2);
                    FluxSortie.write(donnees4);
                    FluxSortie.write(donnees2);
                    FluxSortie.write(donnees5);
                    FluxSortie.write(donnees2);
                    FluxSortie.write(donnees6);
                    FluxSortie.write(donnees2);
                    FluxSortie.write(donnees7);
                    FluxSortie.close();
                    socketconnection.close();                                                                         
        }
                catch (Exception ExceptionSMS){
                    ExceptionSMS.printStackTrace();
            }  
                Affichage.setCurrent(ConfirmationMessage);
       }
}

//et

import javax.microedition.global.ResourceManager;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.util.*;
import java.io.*;
import java.lang.Class.*;

import javax.wireless.messaging.*;
/**
 
 * Cette MIDlet permet l'envoi d'un SMS avec un numéro de téléphone saisi manuellement.<br><br>
 * Elle nous permet de récupérer le numéro de l'application qui sera utilisé pour l'envoi du SMS et<br>
 * crée une interface de saisie du numéro. Cette MIDlet complètera la suite de la rédaction du message<br>
 * en instanciant la classe ControleurSMS.
 *@see ControleurSMS#ControleurSMS(String, Display, Displayable, Displayable)
 */
public class EnvoiSMS extends MIDlet implements CommandListener {

    ResourceManager res = ResourceManager.getManager("res");
    String Quitter = new String(res.getString(1));
    String NumTel = new String(res.getString(2));
    String MsgInvalide = new String(res.getString(3));
    String MsgEnvoi = new String(res.getString(4));
  
    Command CommandeSortie  = new Command(Quitter, Command.EXIT, 2);
    Command CommandeOK = new Command("OK", Command.OK, 1);    //Exemple d'une commande permettant de naviguer au seind de la MIDlet
    Display Affichage;
    String PortSMS;
    TextBox FenetreNumeroDestination;
    Alert AlerteMessageErreur;
    Alert AlerteMessageEnvoi;
    ControleurSMS Controleur;
    Displayable EcranResume = null;

    public EnvoiSMS() {
                   
        PortSMS = getAppProperty("SMS-Port");    //Récupération de la valeur contenue dans le paramètre "SMS-Port" du Wireless ToolKit
        Affichage = Display.getDisplay(this);    //On initialise l'interface Affichage du téléphone
      
        FenetreNumeroDestination = new TextBox(NumTel, null, 256, TextField.PHONENUMBER);    //On crée une nouvelle fenêtre servant à saisir le numéro du destinataire
        FenetreNumeroDestination.addCommand(CommandeSortie);    //Exemple d'ajout de commandes de navigation
        FenetreNumeroDestination.addCommand(CommandeOK);
        FenetreNumeroDestination.setCommandListener(this);    //Ecoute de la commande sélectionnée
      
        AlerteMessageErreur = new Alert("SMS", null, null, AlertType.ERROR);
        AlerteMessageErreur.setTimeout(5000);
      
        AlerteMessageEnvoi = new Alert("SMS", null, null, AlertType.INFO);
        AlerteMessageEnvoi.setTimeout(5000);
        AlerteMessageEnvoi.setCommandListener(this);
      
        Controleur = new ControleurSMS(PortSMS, Affichage, FenetreNumeroDestination, AlerteMessageEnvoi);           
        EcranResume = FenetreNumeroDestination;
    }
    /**
     * Méthode servant à initialiser une MIDlet.
     */
    public void startApp() {
        Affichage.setCurrent(EcranResume);
    }
    /**
     * Méthode servant à interrompre une MIDlet.
     */
    public void pauseApp() {
        EcranResume = Affichage.getCurrent();
    }
    /**
     * Méthode servant à stopper l'application.
     *@param booleen Cette variable prend true ou false comme valeur afin de déterminer si l'on détruit l'application ou non
     */
    public void destroyApp(boolean booleen) {
    }
    /**
     * Méthode permettant de définir les évènements à produire selon la commande choisie par l'utilisateur
     *@param commande Commande choisie par l'utilisateur: "Quitter" ou "OK
     *@param affichage Interface visuelle actuelle
     *@see EnvoiSMS#destroyApp(boolean)
     *@see EnvoiSMS#notifyDestroyed()
     *@see EnvoiSMS#ConfirmeretEnvoyer()
     *@throws ExceptionCommande Au cas où une erreur surviendrait durant l'exécution d'une commande
     */
    public void commandAction(Command commande, Displayable affichage) {    //commandAction permet de définir les évènements liées aux actions que choisit l'utilisateur
        try {
            if (commande == CommandeSortie) {
                destroyApp(false);
                notifyDestroyed();
            } else if (commande == CommandeOK) {
                ConfirmeretEnvoyer();
            }
        } catch (Exception ExceptionCommande) {
            ExceptionCommande.printStackTrace();
        }
    }
    /**
     * Méthode qui teste que le numéro de téléphone soit non-vide et, qui appelle la méthode de la classe<br>
     * ControleurSMS pour saisir le message et l'envoyer
     *@see EnvoiSMS#NumeroEstValide(String)
     *@see ControleurSMS#ConfirmeretEnvoyer(String)
     */
    public void ConfirmeretEnvoyer() {
        String NumeroDestination = FenetreNumeroDestination.getString();    //On récupère le numéro de téléphone sous forme de chaine de caractères
        if (!EnvoiSMS.NumeroEstValide(NumeroDestination)) {    //Test d'un numéro de téléphone non vide
            AlerteMessageErreur.setString(MsgInvalide);
            Affichage.setCurrent(AlerteMessageErreur, FenetreNumeroDestination);
            return;
        }
        String statusMessage = MsgEnvoi + NumeroDestination + "...";
        AlerteMessageEnvoi.setString(statusMessage);
        Controleur.ConfirmeretEnvoyer(NumeroDestination);// Si le numéro est valide, on instancie un nouvel objet de classe ControleurSMS
    }                                                     // nous permettant de passer à la saisie du message et son envoi vers la Servlet
    /**
     * Méthode servant à tester un numéro de téléphone
     *@param number Numéro de téléphone saisi par l'utilisateur
     *@return Retourne un booléen "true" si le numéro est valide et "false" s'il ne l'est pas
     */
    public static boolean NumeroEstValide(String number) {
        char[] characteres = number.toCharArray();
        if (characteres.length == 0) {
            return false;
        }
        int startPos = 0;
        if (characteres[0] == '+') {
            startPos = 1;
        }
        for (int i = startPos; i < characteres.length; ++i) {
            if (!Character.isDigit(characteres[i])) {
                return false;
            }
        }
        return true;
    }

}







mardi 15 juillet 2008 à 18:29:38 | Re : simulateur toolkit

ghuysmans99

Membre Club
En v'la un qui a confondu Java avec ASP !
A déplacer vers http://www.javafr.com/
_______________________________________________________________________
VB.NETis good ...VB6is better



Cette discussion est classé dans : string, commande, affichage, res, getstring


Répondre à ce message

Sujets en rapport avec ce message

prb.bouton [ par paokao ] Bonsoir, En utilisant un bouton ,je veux que les données saisies dans jTextField s'affichent dans jTable ,et s'ajoutent dans une table de ma base de d Apostrophe dans une chaine de caractéres de Requet !!! [ par amine1234Z ] Bonjourvoila mon probléme c'est au niveau du resultat de la requet:la esultat doit retourner une chaine de caractére : "ppppppp"voila le code de click pb boucle while ds un autre while [ par kwantine ] voila j'ai un probleme j'ai besoin d'avoir un while dans un autre while et je ne fais qu'une fois le premier while alors que je devrais le faire deux Comment afficher les resultat d'une requete sql dans une textarea [ par lezoku ] salut  a tous je voudrai savoir Comment afficher les resultat d'une requete sql dans une textareaj'ai essayé beacoups de code mais ca marche pason fai connexion à une base de données à chaque intervalle de temps [ par irann ] Bonjour à tous!Salut !je veus faire une connexion à la base de données à chaque intervale de temps (par exemple chaque 2 secondes).j'ai une  procédure erreur JDBC : table/alias : 'num' non unique [ par oceane751 ] bonjour, voila j'ai une erreur qui apparait lorsque je lance mon programe qui est censé supprimer un client (requete delete) dans une bdd MYSQL erreur pour les connaisseur(ses) de java!! [ par anaisa ] bonjour tt le monde je chercherais à écrire une fonction donnant la representation bienaire d'un entier sous forme d une chaine de carctère! voici mon OUT OF MEMORY [ par sebban ] Voila je fait actuellement un site en jsp , et depuis ke g ajouté une page qui contient pas mal de données provenant de pls tables, TOMCAT me génere sql + tableau [ par cid019 ] bonjour a tous,voila j'ai un probleme d'execution de requete SQL.try { Statement requete = c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, Resul resultat requete SQL et TextArea JAVA [ par oceane751 ] bonsoir à tous !! est ce que c'est possible de mettre le resultat d'une requete SQL dans un TextArea?parce que là le resultat s'affiche dans un Joptio


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.