Я написал мидлет, который выполняет несколько «продвинутых» задач: извлечение изображений из Интернета, изменение их размера, сохранение их на телефоне, их отображение.
Все это прекрасно работает в эмуляторе Nokia S60 3rd Edition FP1. Это устройство имеет поддержку MIDP 2.0 и CLDC 1.1 (также JSR75, который мне нужен для сохранения файлов). Он также работает как следует на Nokia E71 (физическое устройство).
Затем я попытался запустить мидлет на нескольких других эмуляторах. Один из них, DefaultCldcJtwiPhone2 из Java ME SDK 3.0, также заявляет о поддержке MIDP 2.0 и CLDC 1.1. Он не имеет JSR75, что объясняет, почему «FileConnection не может быть разрешен для типа».
Это, однако, не объясняет, почему List.deleteAll (), String.equalsIgnoreCase (String) и некоторые другие не определены.
Фактические ошибки, которые я получаю:
- Метод ceil (double) не определен для типа Math
- Метод deleteAll () не определен для типа List
- Метод equalsIgnoreCase (String) не определен для типа String
- Метод getWidth () не определен для типа Displayable
Когда я смотрю на API MIDP 2.0 (то есть JSR118) (http://java.sun.com/javame/reference/apis/jsr118/),, я отчетливо вижу, что присутствуют все эти методы, причем тегом "Since" является MIDP 2.0 или CLDC 1.1.
Мой вопрос : почему эмулятор с поддержкой MIDP 2.0 не имеет доступа ко всем методам MIDP 2.0? Или, альтернативно, что я делаю не так?