Рейтинг@Mail.ru
загрузкаидет загрузка

Java ME SDK 3.0. Баг при отображении GIF?

Обновил недавно NetBeans под Windows до версии 6.7.1. Вместо Wireless Toolkit 2.5.2 теперь используется Java ME SDK 3.0 (даже присутствует эмуль сенсорного девайса).

Открыл старый проект и эмулятор вывалил java.io.IOException при создании Image из InputStream (GIF изображение Яндекс Денежки, отображающей тИЦ):

Image imgCY = null;
HttpConnection conn = null;
InputStream is = null;
 
conn = (HttpConnection)Connector.open
("http://yandex.ru/cycounter?" + domain, Connector.READ_WRITE, true);
conn.setRequestMethod(HttpConnection.GET);
is = conn.openInputStream();
 
imgCY = Image.createImage(is);

Около получа чесал репу, пробовал и так и этак. Пошел в гугл. Узнал, что не все девайсы "понимают" GIF и нарыл проверку на поддержку этого формата плюс библиотеку декодера GIF'а в приемлемый для телефона формат:

String   mediaTypes[] = null;
boolean gifSupported = false;
 
mediaTypes = Manager.getSupportedContentTypes(null);
int count = mediaTypes.length;
 
for (int i = 0; i < count; i++) {
if (mediaTypes[i].equals("image/gif")){
gifSupported = true;
break;
}
}
 
/* если поддержка есть, то грузим изображение напрямую
если нет, то используем декодер */

 
if(gifSupported){
imgCY = Image.createImage(is);
}
else {
GifDecoder d = new GifDecoder(is);
imgCY = Image.createImage(d.decodeImage());
}

Эмулятор проглотил код, но несмотря на то, что в mediaTypes[] значился "image/gif", использовал декодер, хотя на реальном устройстве картинка грузилась напрямую. Подключаю, отдельно загруженный, WTK, все нормально, то есть декодер не используется. Баг или фича нового SDK?


Ooooops

Looks like Twitter's feed isn't working at the moment.