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 :

Lancement d'une midlet


Sujet :

Java ME

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut Lancement d'une midlet
    Bonjour à tous,

    J'ai écumé pas mal de forums et de tutoriaux, sans trouver mon bonheur, je viens donc tenter ma chance ici:

    J'ai réalisé une midlet ( appelons la midletA ), qui marche très bien ainsi. J'ai un midletA.jar à ma disposition, et maintenant, j'aimerai crée une midletB, qui lancerait la midletA selon certaines règles (du genre, un évènement clavier).

    De ce que j'ai lu, je peux arriver à cela avec PushRegistry.registerConnection().
    Mais je n'arrive pas à me dépatouiller des différents fields:

    PushRegistry.registerConnection(defaultURL,midletClassName,defaultFilter)

    Ma midletA étant sur le même telephone, que dois je mettre comme URL? j'ai essayé localhost, mais je ne sais pas quel protocole je dois lui préciser. De plus, j'ai ajouté mon midletA.jar à mon projet midletB (sous Eclipse, je l'ai fait en modifiant le Java Build Path comme je l'ai vu dans un tutorial), mais il n'a pas l'air de trouver mon jar quand je fais mon appel.

    Si vous pouviez m'aider ça serait cool, car là je sèche...

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 44
    Par défaut
    Une MIDlet contenue dans une MIDlet suite ne peut pas lancer une MIDlet qui se situe dans une autre MIDlet suite. C'est impossible ....

    Tu évoques sur le PushRegistry, mais avec ce PushRegistry, on pourrait uniquement demander sur une connexion entrante l'exécution d'une MIDlet ou programmer le réveil d'une MIDlet après un laps de temps donné. Ce n'est pas ce que tu veux.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Par défaut contournement possible
    bidouille : lancer la midlet A à partir de la midlet B en programmant dans B un reveil (PushRegistry.registerAlarm)de A dans la seconde qui suit.

    ceci dit le reveil d'application peut poser des problèmes : par exemple, demande de confirmation systèmatique sur les nokia S40.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut
    Merci manitoba J'ai utilisé ça, et ça marche. Je me sers du registerAlarm. Je m'étais mal exprimé (rapport à ce que dis domdidom.eu), mes deux midlets sont dans la même midlet suite.

    Par contre, maintenant il me lance bien la deuxième midlet, sauf qu'il ne me "l'affiche" pas. Je lance un nouveau thread, qui lance ma midlet, mais après ça, soit je l'empêche de sortir, et je ne peux rien faire, soit il rebascule sur la première midlet, et je n'arrive pas à prendre la main sur la seconde.

    J'ai lu des histoires de focus, vous sauriez comment sauter d'une midlet à l'autre?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 137
    Par défaut
    Je n'ai jamais essayé ce genre de truc, mais peut être que :

    - B fait un register Alarm
    - A se lance
    - A fait un affichage
    - B fait un affichage qui rend B active et met A en pause

    il faudrait peut être que tu essaie de tracer les appels à pauseApp et startApp dans les 2 midlets pour voir ....

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 78
    Par défaut
    Bon la suite est un peu tardive (j'ai eu d'autres choses à faire entre):

    J'ai essayé de tracer le lancement de la midlet, mais apparement ça n'arrive pas: la fonction registerAlarm a l'air de fonctionner, mais au final, le constructeur de ma midlet n'est pas appelé, ni même le startapp. Je me demande si mon problème ne vient pas de l'agencement de mes midlets.

    En effet, j'étais parti en utilisant ma midlet A (l'appelant) en lui rajoutant dans le build path ma midlet B. J'ai donc le résultat au dessus. Puis j'ai tenté de packager B, et mettre le jar obtenu dans A, sans plus de succès. J'ai aussi essayé de mettre directement mon projet B dans celui A, mais toujours pareil.

    Le problème que j'ai, c'est que pour l'heure, j'ai une organisation comme ça:
    -Midlet A
    --A.jad
    -Midlet B
    --B.jad

    Alors que normalement je devrais avoir qu'un seul jad, non? Mes 2 jad spécifient les liens entre les deux midlets, et ma midlet A a toujours dans son build path l'accès à B.

    Un point que j'ai remarqué: j'utilise un émulateur (pour ne pas à avoir à transférer mon programme à chaque fois sur mon portable), et au moment d'exécuter le registeralarm, j'ai un message du type:

    "It is Ok to receive updates?"

    Qui me demande une confirmation. Si je refuse, j'ai droit à une exception, me signifiant que l'application n'est pas authorisée à accéder à cette API. Si j'accepte, je reviens à l'écran avant la demande de confirmation...

    Si vous avez des idées...

Discussions similaires

  1. [Plugin][Débutant] Lancement d'une appli Java avec un plugin
    Par antares24 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 29/07/2004, 14h18
  2. Lancement d'une commande sur un serveur Unix
    Par lper dans le forum Web & réseau
    Réponses: 2
    Dernier message: 29/07/2004, 13h58
  3. Lancement d'une application en local (!)
    Par Fifoun dans le forum MFC
    Réponses: 5
    Dernier message: 12/06/2004, 17h09
  4. erreur au lancement d'une req Oracle (SP2-0552)
    Par etham dans le forum Administration
    Réponses: 5
    Dernier message: 16/04/2004, 16h23
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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