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 :

Midlet compatible MIDP1 et MIDP2 -> Utiliser une fonction que si MIDP2 ?


Sujet :

Java ME

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Par défaut Midlet compatible MIDP1 et MIDP2 -> Utiliser une fonction que si MIDP2 ?
    Bonjour à tous,

    Je souhaite créer une midlet qui puisse tourner à la fois sur des téléphones MIDP1 et MIDP2. Et j'aimerais utiliser setFullScreenMode() pour afficher ma midlet en plein écran si possible.

    Le problème c'est que setFullScreenMode() n'existe que dans MIDP2.

    Comment puis-je détecter lors de l'exécution si le téléphone est MIDP1 ou MIDP2 et n'appeler la fonction setFullScreenMode() que si MIDP2 ?

    En utilisant System.getProperty("microedition.profiles") j'arrive à trouver le profil ... mais un code du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isMidp2) setFullScreenMode(true);
    ... refuse de compiler, parce que setFullScreen() n'existe pas ...

    Je sais qu'il existe des directives de compilation ... mais ça oblige de créer plusieurs midlets séparées !

    Je pense qu'une solution devrait exister en utilisant Class.forName ... mais je ne sais vraiment pas comment l'utiliser

    Merci d'avance,
    Mr.Beans

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Je ne pense pas que tu puisses faire ça, car déjà, le format des .class est différent pour les Midelets 1 et 2, ainsiq ue l'environnement d'exécution Faudrait proposer deux applications séparés ...

    Bonne chance.

  3. #3
    Membre régulier
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Par défaut
    Hello.

    J'ai du faire quelque chose de similaire avec WMA et les classes propriétaires permettant d'envoyer des SMS. En gros, l'application utilise telle ou telle classe en fonction de ce qui est présent sur le téléphone.

    Pour identifier si le téléphone dispose de WMA ou bien des classes X Nokia, Siemens, etc... J'ai simplement vérifié si ces classes étaient présentes ou non. On pourrait donc imaginer une solution identique à ton problème... Par exemple, tu peux vérifier si la classe javax.microedition.media.Manager est présente ou non... C'est spécifique MIDP2.

    lanoix

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Par défaut
    Merci djo.mos & lanoix,

    lanoix : pour détecter si c'est MIDP1 ou MIDP2 c'est bon ....

    Mais une fois que je sais que je suis MIDP1 ou 2 comment je fais pour charger la classe qui m'intéresse et appeler la fonction ? Toi tu fais comment pour les classes propriétaires ?

    En l'occurrence avec le SetFullScreenMode c'est encore plus embattant que pour les classes propriétaires car le Canvas existe et en MIDP1 et en MIDP2 ... mais ne contient pas les mêmes fonctions...

    Merci d'avance,
    Mr.Beans

  5. #5
    Membre expérimenté
    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
    Par défaut
    Une application MIDP 1 peut tourner sur MIDP 2 mais je pense qu'une application MIDP 2 ne s'installera même pas sur un mobile MIDP 1.
    Donc, comme djo.mos te le disais, tu devras proposer 2 applications. Le plus intéressant dans ton cas doit être l'utilisation d'un préprocesseur pour faciliter ces différentes versions.

Discussions similaires

  1. [WD9] Utiliser une fonction d'un ActiveX avec pointeur
    Par archimor dans le forum WinDev
    Réponses: 3
    Dernier message: 21/03/2006, 00h41
  2. [Débutant] Déclarer, utiliser une fonction
    Par Hokagge dans le forum Langage
    Réponses: 7
    Dernier message: 14/03/2006, 08h03
  3. Réponses: 10
    Dernier message: 10/02/2006, 14h23
  4. DAO impossible d'utiliser une fonction dans un requete
    Par exter666 dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/09/2005, 17h15
  5. Utiliser une fonction
    Par MaxiMax dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 12/08/2005, 07h53

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