J'ai écrit un MIDlet qui fait plusieurs choses "avancées": récupérer des images sur le web, les redimensionner, les enregistrer sur le téléphone, les afficher.
Tout cela fonctionne parfaitement dans l'émulateur Nokia S60 3rd Edition FP1. Cet appareil a le support MIDP 2.0 et CLDC 1.1 (également JSR75, dont j'ai besoin pour enregistrer des fichiers). Il fonctionne également comme il se doit sur le Nokia E71 (périphérique physique). J'ai ensuite essayé d'exécuter le MIDlet sur plusieurs autres émulateurs. L'un d'eux, le DefaultCldcJtwiPhone2 du Java ME SDK 3.0, revendique également la prise en charge de MIDP 2.0 et CLDC 1.1. Il n'a pas JSR75, ce qui explique pourquoi "FileConnection ne peut pas être résolu en un type".
Cela n'explique cependant pas pourquoi List.deleteAll(), String.equalsIgnoreCase (String) et quelques autres ne sont pas définis.
Les erreurs réelles que je reçois:
- La méthode Ceil (double) est définie pour le type Math
- La méthode deleteAll() est définie pour le type Liste
- La méthode equalsIgnoreCase (string) est définie pour le type string
- la méthode getWidth() est définie pour le type affichable
Quand je regarde le MIDP 2.0 (c.-à-d. JSR118) API (http://java.sun.com/javame/reference/apis/jsr118/), je peux clairement voir toutes ces méthodes étant présentes, avec la balise "depuis" étant soit MIDP 2.0 ou CLDC 1.1.
Ma question: pourquoi un émulateur avec prise en charge MIDP 2.0 n'a-t-il pas accès à toutes les méthodes MIDP 2.0? Ou bien, qu'est-ce que je fais de mal?
Utilisez-vous un IDE ou simplement le Java ME SDK? –
J'utilise Eclipse. Voir mon commentaire sur votre réponse. – benvd
J'ai "résolu" le problème. Ainsi, lorsque j'ai changé le périphérique cible dans le descripteur d'application (fichier de configuration, peut être spécifique à l'environnement Eclipse J2ME), un émulateur CLDC 1.1 n'est pas reconnu comme tel. Il s'avère que cela fonctionne correctement lorsque je crée une nouvelle configuration de débogage (ou d'exécution), où je peux définir l'émulateur à celui que je veux ... – benvd