Я создаю приложение для внутренней навигации (с тем, чтобы пользователь мог хранить карты разных зданий в файловой системе телефона). Приложение запускается, предлагая пользователю выбрать карту для желаемого здания. Как только это будет выбрано, будет использоваться анализатор файла для анализа и преобразования данных карты из файла. Пока это происходит, я создал экран ожидания с сообщением, пожалуйста, подождите ... а также разместил загружаемое / обрабатываемое изображение в виде гифки. Но когда я запускаю это в эмуляторе Sun WTK, гифка не меняется, она становится статичной картинкой. Кстати, я использую для этого Netbeans 6.1. Любые идеи? Большое спасибо.
J2ME в Netbeans (проблема с изображением gif)
Ответы (3)
Даже обработка изображений gif не поддерживается на старых телефонах, как указано в Форум Nokia.
Однако в статье в журнале доктора Добба есть решение по теме «Отображение изображений GIF на мобильных телефонах J2ME. "с использованием свободно доступного класса GifEncoder.java. Его порт J2ME доступен на той же странице, здесь.
Анимированные GIF-файлы не поддерживаются в MIDP по умолчанию, поэтому, если вы действительно хотите воспроизвести анимированный GIF-файл, вам необходимо использовать для этого MMAPI. Я предлагаю вам разделить анимацию на отдельные файлы и сделать анимацию вручную. Это самый простой способ.
Этот код позволяет вам воспроизводить анимированный gif в конце
InputStream is = getClass().getResourceAsStream("/OceanFish.gif");
DataInputStream di = new DataInputStream(is);
StaticAnimation simage = StaticAnimation.createAnimation(di);
но опять же, я бы не стал предлагать это, так как он не очень портативный.
Возможно, это не идеальное решение, но вы всегда можете извлечь кадры анимации gif на лист спрайтов в формате png, а затем использовать класс Sprite для обработки анимации. Это было бы намного более переносимым, поскольку класс Sprite является частью стандарта MIDP 2.