Java-программы не запускаются на КПК тапом на программный файл или его ярлык. Вначале Java-программу необходимо установить в эмулятор. На большинстве мобильных устройств эмуляторы входят в стандартный набор программ, в своем наименовании они как правило имеют слова «Java» или «MIDLet». В идеале все действие должно происходить в 2 тапа стилусом – вначале тапом на программный файл (файл типа ***.jar) Java-программа устанавливается в эмулятор, а затем тапом на иконку программы в окошке эмулятора запускается сама программа.
Но так происходит при условии идеальной совместимости Java-программы, эмулятора и операционной системы КПК. Приступая к работе с Java на КПК, нужно иметь ввиду, что большинство Java-программ написаны для другого типа мобильных устройств - для мобильных телефонов. И еще - Windows по причинам непрограммного характера не содержит наитивной поддержки Java. Поэтому мы имеем дело с эмуляцией Java, которая по определению есть «имитация работы одной системы средствами другой без потери функциональных возможностей и искажений результатов». Но ведь имитация подлинника не есть подлинник. Осуществить ее на практике без потери качества или функциональности не так-то просто.
Если Вы пополнили число пользователей, которым запустить Java-программу описанным выше методом не удалось, или же при работе Java-программ на Вашем мобильном устройстве имеются проблемы, внимательно прочтите нижеследующий материал, который поможет Вам разобраться в причинах имеющихся проблем с Java и разрешить их. Чтобы разобраться в том, что за Java-программу (апплет или мидлет) мы видим перед собой, необходимо раскрыть архив ***.jar. Если внутри архива ***.jar нет папки META-INF с вложенным в нее файлом MANIFEST.MF, значит перед нами апплет, не поддерживающий функцию "main()", т.е. это апплет, запускаемый браузером.
Если же внутри архива ***.jar есть папка META-INF с вложенным в нее файлом MANIFEST.MF, то:
- если в MANIFEST.MF есть строка "Main-Class …", значит перед нами апплет, запускаемый Java Virtual Machine отдельно от браузера;
- если в MANIFEST.MF есть строка "Midlet1 - ...", значит перед нами мидлет, запускаемый эмулятором. Последний показатель строки "Midlet1 - ..." - это запускаемый класс мидлета, с которого начинается выполнение программы.
Может быть и такой вариант: внутри архива ***.jar есть папка META-INF с вложенным в нее файлом MANIFEST.MF, но в MANIFEST.MF нет ни строки "Main-Class …", ни строки "Midlet1 - ...". Это означает, что перед нами апплет, запускаемый браузером.
Если Java-программа представлена в виде zip-архива или папки с набором классов, то это также означает, что мы видим перед собой апплет, запускаемый браузером.
.
И еще одно замечание, касающееся всей темы: на пути к эмуляторам, виртуальным ява-машинам, мидлетам и апплетам не должно быть папок, наименования которых написаны кириллицей. При несоблюдении этого правила Java у Вас не запустится.
Эмулятор при запуске образует менеджер мидлетов под именем "Midlet HQ". Все установившиеся мидлеты он пишет в My Documents/temp. После удаления из "Midlet HQ" какого-либо мидлета он из этой папки может автоматически не удалиться, нужно это проверять и при необходимости удалять вручную. Эмулятор хорошо работает на Storage card. Jad-файл при установке мидлетов не требуется. Работает с буфером обмена.
Новая версия эмулятора работает существенно лучше предыдущей.
Но - эмулятор съедает много памяти, при этом перед выполнением любого действия он анализирует наличие памяти, и если ее мало, действие не производится. Например, не хватает памяти для загрузки эмулятора (4.5 Мб) - он не загружается, не хватает памяти для загрузки Opera mini (5 Мб) - она не грузится, при этом никаких сообщений мы не получаем. Если какая-либо игра вроде-бы начинает открываться, но затем все тормозится, это также сигнал к тому, чтобы посмотреть - сколько осталось памяти. Если увеличить ползунком память для работы программ (актуально только для WM 2003), то все начинает работать.
ЭМУЛЯТОР качать здесь