Я написал мидлет, который выполняет несколько «продвинутых» вещей: извлекает изображения из Интернета, изменяет их размер, сохраняет их в телефоне, отображает их.
Все это отлично работает в эмуляторе 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/), я ясно вижу, что все эти методы присутствуют, с тегом «с», который является либо MIDP 2.0, либо CLDC 1.1.
Мой вопрос: почему эмулятор с поддержкой MIDP 2.0 не имеет доступа ко всем методам MIDP 2.0? Или, как вариант, что я делаю не так?