kolofan
Ситуация, сложившаяся сегодня в мире мобильного программирования во многом напоминает обстановку конца 80-х, когда на рынке ПК существовало несколько практически несовместимых между собой устройств. Стараясь выжать из железа максимум и как можно быстрее запустить в продажу новые модели, производители не особо заботятся даже о совместимости собственных устройств, что уж говорить о совместимости между устройствами разных производителей.
Когда мобильные телефоны являлись просто средством коммуникации, несовместимость не вызывала особых проблем. С течением времени телефоны стали превращаться в сложные функционально насыщенные устройства. Возникла потребность в разнообразном и качественном софте.
Осознавая, что сторонние разработчики не будут тратить время на написание программы для единственной модели телефона, производители стали создавать платформы, позволяющие запускать одну и ту же программу на различных устройствах. В настоящее время существует несколько решений, но в России по настоящему большое распространение получила только Java 2 Platform Micro Edition (J2ME).
Вспоминаем лучшие Java-игры с J2ME Loader и Kemulator
Основная идея J2ME проста: программист компилирует программу в промежуточный код, который затем выполняется специальным эмулятором – виртуальной Java машиной (VJM). VJM выступает посредником между программой и прошивкой телефона. Таким образом, основную часть работы по адаптации приложений к конкретной модели берет на себя производитель.
Кроме того, VJM решает проблему безопасности, поскольку приложения не имеют прямого доступа к памяти и ресурсам телефона. На практике VJM разных производителей не всегда выдают одинаковый результат. Из других недостатков J2ME можно отметить неспособность ее работать с вещественными числами (не актуально для CDLC 1.1), а также проблему с исходными кодами. Поскольку в результате компиляции получаются промежуточный, а не машинный код, он легко может быть переведен обратно в java исходник.
1. Рабочая среда
Для того чтобы начать разрабатывать мидлеты (так принято называть J2ME приложения для мобильных телефонов) Вам необходимы три вещи:
Java 2 Standard Edition (J2SE) SDK version 1.4.2 или выше — компилятор и утилиты для создания Java архивов;
J2ME Wireless Toolkit (WTK) 2.2 — набор утилит и эмуляторов для создания и отладки мидлетов;
текстовый редактор или IDE.
1.1 Создание нового проекта
Запустите WTK KToolbar. Для создания нового проекта выберите пункт меню File>New Project. В появившемся окне заполните поля «Project Name» и «MIDlet Class Name». Введите, например, SampleSuite и SampleMIDlet. После заполнение этих полей Вам будет предложено настроить параметры проекта.
Ничего не меняйте, просто нажмите кнопку OK. В папке [WTK]apps будет создан новый каталог SampleSuite. Каждый проект содержит стандартный набор каталогов:
bin — сюда попадают .jar и .jad файлы после упаковки проекта;
lib — сюда следует поместить файлы подключаемых библиотек;
Запуск Java приложений на Android! | J2ME
res — файлы ресурсов (например, .png, .txt);
src — файлы .java с исходным текстом программы;
Название .java файла должно соответствовать имени расположенного внутри него класса. Не забудьте, что язык Java чувствителен к регистру букв.
1.2 Открытие и запуск примера
После написания кода программы, как правило, наступает этап тестирования. Сначала приложение отлаживается на эмуляторе, а затем непосредственно на телефоне. Давайте откроем один из стандартных примеров (например, UIDemo). Чтобы запустить проект в окне эмулятора, нужно его откомпилировать (кнопка Build), а затем нажать Run на панели инструментов.
Для переноса приложения на телефон, необходимо его упаковать. Для этого после компиляции надо выбрать пункт меню Project>Package. В папке bin проекта появятся файлы .jar и .jad. Файл jar является Java архивом, содержащим файлы проекта, а jad — так называемым дескриптором приложения. Дескриптор содержит вспомогательную информацию о классах архива.
Эта информация используется телефоном для эффективного управления ресурсами. Именно эти два файла нужно копировать в телефон.
2. Простейшее приложение
Особенностью программной модели мидлета является возможность вмешательства операционной системы в ход выполнения программы. Работа приложения может быть в любой момент прервана каким-нибудь внешним событием, например входящим телефонным звонком. Это обстоятельство требует постоянного контроля системы над ходом выполнения программы. Реализуется этот контроль с помощью специального управляющего софта, называемого AMS (Application-Management Software).
Каждый Java программист знает, что работа программы начинается с запуска метода main(). В J2ME этот метод недоступен. Вместо него предлагается использовать startApp().
Запущенное приложение может находиться в трех возможных состояниях: paused: мидлет запущен, но не активен; active: мидлет активен и destroyed: мидлет остановлен и готов к завершению.
Рассмотрим жизненный цикл мидлета. Сразу после запуска он находится в состоянии paused. Прежде чем перейти в активный режим, он должен выполнить инициализацию. Мидлет не имеет специального инициализационного метода и все необходимые действия выполняются внутри startApp().
Через некоторое время после запуска программы, AMS вызывает метод startApp(), в результате приложение переходит в состояние active. Если при запуске возникли какие-нибудь ошибки, управление передается методу javax.microedition.midlet.MIDletStateCha ngeException, который переводит мидлет в состояние destroyed.
В любое время AMS может прервать выполнение мидлета и перевести его в состояние paused. При этом AMS вызывает метод pauseApp(). Для того чтобы перевести приложение в состояние destroyed и закрыть его, AMS вызывает метод destroyApp().
Мидлет не способен перевести сам себя из одного состояния в другое. Он может только послать соответствующий запрос AMS, воспользовавшись одним из методов: notifyDestroyed() — запрос на завершение работы; notifyPaused() — запрос на дезактивацию и переход в состояние паузы; resumeRequest() — запрос на реактивацию и переход в активное состояние. AMS решает, нужно ли удовлетворить запрос, и если нужно, то когда это сделать. После запроса resumeRequest() ASM вызывает метод startApp(). В ответ на notifyPaused() и notifyDestroyed() AMS напрямую переводит мидлет в требуемое состояние.
Ниже приведен код простого мидлета-каркаса. Я рекомендую сохранить его где-нибудь на диске и использовать в качестве шаблона для новых приложений.
public class SampleMIDlet extends MIDlet
private Display display;
protected void destroyApp( boolean unconditional ) throws MIDletStateChangeException
exitApp(); // вызывает уборщик мусора
protected void pauseApp()
// Сюда следует добавить код, который надо выполнять непосредственно
// перед переводом приложения в режим паузы.
protected void startApp() throws MIDletStateChangeException
if( display == null )
// Этот код выполняется при запуске мидлета
// Сюда следует добавить код, который надо выполнять непосредственно
// перед переводом приложения в активный режим.
private void initApp()
display = Display.getDisplay( this );
// Сюда добавляется код инициализации приложения
public void exitApp()
// Сюда следует добавить код, который будет выполняться
// при закрытии приложения.
notifyDestroyed(); // уничтожение MIDlet-а
3. Пользовательский интерфейс высокого уровня
В состав J2ME входит пакет javax.microedition.lcdui, в котором реализованы классы пользовательского интерфейса. Принято различать низкоуровневые и высокоуровневые классы. В рамках данной статьи мы рассмотрим только последние. Программы, написанные с использованием только высокоуровневого интерфейса, практически не требуют адаптации при переносе на различные модели телефонов.
Разработка программ на основе высокоуровневого интерфейса сводятся к двум этапам: созданию окон и настройке команд.
3.1 Создание окон
Высокоуровневый интерфейс определяет четыре типа окон: Alert, TextBox, List и Form.
Alert — окно служебных сообщений. При создании требует четыре параметра: заголовок окна, текстовое сообщение, рисунок и тип сообщения (ALARM, CONFIRMANTION, ERROR, INFO, WARNING). С помощью метода setTimeout можно установить время (в миллисекундах), через которое окно будет закрыто.
TextBox — окно-редактор текста. При создании требует, чтобы ему передали заголовок, начальный текст, максимальный размер текста и ограничения. В качестве ограничений можно использовать константы: ANY — ограничений на текст нет, EMAILADDR — ввод e-mail адресов, NUMERIC — ввод чисел, PASSWORD — ввод пароля, PHONENUMBER — ввод телефонных номеров, URL –ввод URL адресов.
Для получения введенного текста можно воспользоваться либо методом getChars(char[] chAr), который записывает текст в переданный массив символов chAr; либо getString(), который возвращает строку. С помощью метода size() можно узнать размер введенного текста.
TextBox myTb= new TextBox(«Введите текст», «», 255,TextBox.ANY);
List — окно-список элементов. При создании список требует четыре параметра: заголовок списка, тип списка, массив строк и массив картинок для элементов списка. Два последних параметра можно опустить, но тогда для формирования списка нужно использовать метод append(String str, Image img).
В J2ME реализованы четыре типа списков. Тип EXCLUSIVE предназначен для пометки одного элемента из списка (соответствует TRadioButton в Delphi); MULTIPLE предназначен для пометки нескольких элементов (соответствует TCheckBox); IMPLICIT позволяет выбрать один элемент из списка (cоответствует TListBox).
Чтобы узнать, какие элементы выбрал или пометил пользователь, нужно воспользоваться одним из следующих методов. getSelectedIndex() — возвращает номер выбранного элемента. getSelectedFlags(boolean[] selArr) — записывает в переданный массив selArr состояние всех элементов списка.
List myList=new List(«Элементы»,Choice.IMPLICIT,st,null) ;
Form. Форма — это контейнер, куда можно помещать различные визуальные элементы управления. Если элементы формы не умещаются на экране телефона, создается вертикальная полоса прокрутки. Для добавления элемента на форму используется метод append(). В качестве единственного параметра ему нужно передать либо строку, либо картинку, либо один из визуальных компонентов класса Item.
ChoiceGroup — группа элементов для выбора. Этот элемент аналогичен List. Как и List он позволяет создавать EXCLISIVE и MULTIPLE списки. Вместо типа IMPLICIT нужно использовать POPUP, который создает список в виде выпадающего меню.
DateField — элемент предназначен для установки даты и времени. При создании требуется передать три параметра: заголовок, режим даты (DATE, TIME или DATE_TIME) и часовой пояс. Последний параметр можно опустить.
TextField — поле для ввода текста. Этот элемент очень похож на TextBox, но, в отличие от последнего, не занимает весь экран.
StringItem — элемент предназначен для добавления на форму статических строк текста, кнопок и гиперссылок. При создании требуется передать три параметра: строку-метку, строку текста и форматирование текста. В качестве последнего параметра используются константы: BUTTON — для создания кнопки, HYPERLINK — для гиперссылки, LAYOUT_BOTTOM, LAYOUT_CENTER, LAYOUT_TOP, LAYOUT_LEFT, LAYOUT_RIGHT — для определения положения текста на экране.
Spacer — элемент предназначен для создания свободного пространства указанного размера. Используется для позиционирования других элементов на форме. В качестве параметров при создании задаются ширина и высота области.
ImageItem — элемент предназначен для размещения изображения на форме. При создании требуется передать пять параметров: текст над рисунком, объект класса Image с загруженным рисунком, расположение рисунка (LAYOUT_LEFT, LAYOUT_RIGHT, LAYOUT_CENTER), текст под рисунком и форматирование. Последний параметр аналогичен рассмотренному в StringItem и также может быть опущен.
J2ME гарантированно умеет работать с рисунками в формате PNG. Все рисунки проекта должны быть расположены в папке res. Код загрузки и использования рисунка нужно обязательно помещать в trycatch скобки, в противном случае при сборке проекта возникнут ошибки. Для загрузки изображения из файла используется метод Image.createImage(«/файл.png»).
Guage — элемент для отображения полос состояния. При создании требуется передать три параметра: метку, флаг типа boolean, указывающий на то должна ли полоса быть интерактивной; значение, соответствующее заполненной полосе, и начальное значение. Для установки текущего положения используется метод setValue(int value).
Помимо указанных элементов, под заголовком окон TextBox, List и Form можно поместить бегущую строку с текстом. Для этого нужно создать объект класса Tricker и вызвать метод setTricker окна, указав в качестве параметра созданный объект.
ChoiceGroup myCG=new ChoiceGroup(«Элементы»,Choice.POPUP);
DateField myDF=new DateField(«Дата и время»,DateField.DATE_TIME);
TextField myTF=new TextField(«Введите текст», «», 20,TextField.ANY);
StringItem mySI1=new StringItem(«Ф.И.О.», «Иванов Иван Иванович»);
StringItem mySI2=new StringItem(«URL»,
StringItem mySI3=new StringItem(«OK», «», Item.BUTTON);
Spacer mySp=new Spacer(50,0);
Gauge myG=new Gauge(«Идет процесс»,true,100,45);
Источник: kolofan.livejournal.com
Мобильные приложения для Java
Уже не первый год растёт популярность портативных устройств, работающих на платформах Android, Windows Mobile, Symbian, iOS. Телефонов и смартфонов, функциональные возможности которых мало уступают персональному компьютеру, становится всё больше, и они есть даже у детей. Однако существуют и другие аппараты.
До сих пор в мире используют довольно много мобильных телефонов начального уровня с ограниченными ресурсами. Они имеют небольшой объём памяти, малый размер дисплея и т. д. И чтобы обеспечить работу такого сотового телефона, нужны специальные Java-приложения. Как вы уже догадались, мы говорим про приложения, созданные для Java ME. Да, они ещё продолжают выходить, так как разработчики программ и приложений не забывают о владельцах, которым принадлежат подобные телефоны и другие приборы.
Назначение и возможности Java ME
Итак, когда разговор идёт про Java-приложения и программы для мобильников, обычно имеются в виду программы, разработанные для Java ME (J2ME). Это не что иное, как специальная версия Java, разработанная для гаджетов с ограниченной вычислительной мощностью.
Сама Java-платформа, используемая в таком телефоне, включает в себя несколько компонентов: 1. Виртуальная машина. Если перед нами телефон начального уровня, применяется конфигурация CDLC 1.0 (Connected Limited Device Configuration). Она предназначена для устройств с ограниченными коммуникационными возможностями и ресурсами. 2. Следующий компонент — профиль мобильного телефона, включающий в себя информационные функции MIDP (Mobile Information Device Profile). Именно по названию этого профиля разрабатываемые программы и получили прозвище «мидлеты».
На сегодняшний день в мире существуют порядка 3 миллиардов гаджетов, способных работать с приложениями Java. Однако это не только старые телефоны, продаваемые с рук. Удивительно, но Java-устройства существенно опережают смартфоны по количеству реализуемых товаров: их продают приблизительно в 30 раз больше, чем девайсов, созданных на базе пресловутых Android и iOS вместе взятых. И в этом нет ничего удивительного, т. к. речь идёт не только о мобильниках. Дело в том, что с помощью Java 2 Micro Edition работают пейджеры, смарт-карты, органайзеры, карманные персональные компьютеры (КПК), телевизионные цифровые приемники, принтеры, прочие мобильные и встраиваемые аппараты.
Java ME обеспечивает надежную среду для приложений и включает гибкий пользовательский интерфейс, встроенный сетевой протокол, поддержку автономных либо сетевых приложений с возможностью динамической загрузки. Программы, построенные на базе этой платформы, переносятся с одного девайса на другой, причём собственные функции каждого устройства используются максимально эффективно.
Но, несмотря на всё это, Java ME постепенно отходит в прошлое. Например, ещё в далёком 2007 году разработчики объявили о поэтапном сворачивании мобильной платформы и переходе к стандартной версии Java. Тем не менее специалисты утверждают, что полностью такие девайсы исчезнут лишь в 20-х годах этого века.
И это неизбежно, так как обычные мидлеты в большинстве случаев не актуальны, если говорить о современных смартфонах. К тому же, как вы думаете, на каком языке сегодня удобнее всего писать приложение для той же операционной системы Android? Правильно, на Java, но никак не на Java ME.
Что говорит официальный сайт Oracle?
Java-компоненты для мобильных устройств устанавливаются компанией-производителем заранее, поэтому их нельзя загрузить и инсталлировать самостоятельно. Также стоит учитывать, что модели некоторых карманных персональных компьютеров (Blackberry, Palm), смартфонов (iPhone, Android), планшетов (iPad, Android), MP3/MP4-проигрывателей (iPod), игровых приставок (Nintendo Wii) и прочих электронных приборов для личного пользования не поддерживают специальный подключаемый модуль Java. Чтобы это определить, нужно делать запрос на веб-сайте изготовителя с указанием конкретной модели.
Специально для Java ME-разработчиков корпорация Oracle подготовила дополнительную информацию, которая размещена в сети. Подробности и необходимые ссылки вы найдёте на официальной странице Oracle.
Источник: otus.ru
Что такое платформа Java и J2ME?
В 1999 году Sun Microsystems представила всему миру новую программную технологию, предназначенную для создания приложений, работающих на мобильных устройствах — сотовых телефонах, КПК и др. J2ME — это «Java 2 Micro Edition». Язык Java изначально планировался, как кросс-платформенный язык, способный работать на устройствах с ограниченными возможностями.
Строго говоря, технология эта не совсем новая — она стала преемницей J2SE, которая используется для создания «больших» приложений. Фактически J2SE несколько упростили, убрали лишнее и добавили специфические, важные для мобильных устройств функции. Особенностью Java-программ является то, что они выполняются на так называемой виртуальной машине Java, а сама технология задумывалась как платформонезависимая. Если мобильный телефон обладает поддержкой Java, на нем должны запускаться любые Java-программы.
Изначально язык не планировался для игр, поэтому его возможности несколько слабее возможностей инструментов, которые были созданы специально для игр. Однако, платформа J2ME появилась первой и сумела получить быстрое распространение. Поэтому на данный момент эта платформа является фактически стандартом на рынке мобильных игр.
Но не все так просто — виртуальная машина одна, а технические возможности мобильников разные. Да и на телефонах разных производителей одна и та же программа вполне может не запускаться — различаются реализации Java на разных аппаратных платформах, и проблема совместимости программного обеспечения и устройств разных производителей в Java-мире все еще актуальна. Поэтому в случае, например, с играми можно видеть, как одну и ту же игру адаптируют для различных аппаратов.
Производители мобильных телефонов, понимая, что повышение уровня совместимости Java-приложений с устройствами разных производителей очень важно, делают определенные шаги в этом направлении. В частности, Nokia и Vodafone занимаются разработкой новых спецификаций для Java-приложений, призванных повысить совместимость программного обеспечения и аппаратов разных производителей. В результате этого можно ждать еще более обширного распространения Java в мире и снижения цен на программы. Помимо попыток сторонних разработчиков улучшить положение дел, компания Sun тоже не прекращает работы над этим стандартом. Например, было объявлено о разработке новых API, реализующих поддержку Java-программами web-сервисов.
Стоимость разработки игр на J2ME довольно невелика: SDK (Software Development Kit) доступен бесплатно, и нет никаких издержек на лицензирование игр, созданных с его помощью.
- ← Xiaomi Redmi 2 и Redmi Note получат чипсеты MediaTek
- Что такое и как работает сервис USSD? →
Источник: mediatek-club.ru
Как поиграть в java игры на андроид?
Эра кнопочных мобильных телефонов завершилась уже достаточно давно. На них можно было поиграть в пару десятков игр, которые быстро приедались, но у каждого была пара-тройка любимых. Кто лет 12 назад не соревновался с товарищами в скорости преодоления препятствий в Gravity Defite? На современном смартфоне, работающем под управлением операционной системы Android, также можно насладиться оригинальным олдскульными геймплеем и графикой.
Как запускать Java игры на андроид?
Играть в старые игры, разработанные для кнопочных мобильных телефонов, можно на компьютере, планшете или современном смартфоне. Если на Windows всё просто и проблем обычно не возникает, с Android иногда приходится повозиться. Поэтому мы рассмотрим процесс подготовки и запуска Java-игр на Android-устройствах, используя эмулятор java на андроид J2ME Loader.
Эмулятор java на андроид J2ME Loader-особенности
Для работы эмулятора J2ME Loader на платформе Android требуется наличие привилегий суперпользователя (root), то есть мобильное устройство должно быть «рутировано». J2ME Loader поддерживает Java-игры с двухмерной и трёхмерной графикой, но с последними иногда возникают проблемы, например, не поддерживается (его внедрение даже не планируется разработчиком) движок Mascot capsule.
Эмулятор перекраивает управление в Java-игрушке под сенсорный экран, если она распространяется в формате jar. J2ME Loader позволяет переключаться между светлой и тёмной темой оформления. Для управления в Java-игре используется пара масштабируемых виртуальных клавиатур.
Кнопки каждого из этих блоков независимо друг от друга изменяются в размере, могут иметь круглую или прямоугольную форму. Интерфейс эмулятора J2ME Loader переведён на русский язык. Встроенное средство автоматически создает снимки экрана для запечатления наиболее ярких игровых моментов.
Для каждой конкретной игры можно указать необходимые параметры её запуска:
- разрешение дисплея – вводится вручную, может быть нестандартным;
- фоновый цвет, на котором располагаются виртуальные клавиши;
- свободный масштаб изображения;
- сохранение соотношения сторон при масштабировании.
В эмуляторе J2ME Loader также предусмотрено управление качеством картинки и производительностью смартфона: режим фильтрации и неотложной обработки, аппаратное ускорение (иногда дающее сбои) и запуск игры в полноэкранном режиме. Для настоящих геймеров есть функция вывода на дисплей фреймрейта и ограничения количества FPS в минуту, что положительно сказывается на производительности.
Виртуальные клавиши поддерживают тактильный отклик, прозрачность, функцию автоматического исчезновения и размещения кнопок в свободных местах игровой области. Цвет элементов интерфейса (кнопок, надписей) и их обводка могут быть изменены.
- Не требует предварительной конвертации файла игры в формат apk.
- Поддерживает сетевые развлечения.
- Светлая и тёмная темы оформления.
- Воспроизведение всех звуков в игре.
- Отдельные параметры конфигурации для каждой конкретной Java-игры.
- Функция масштабирования любого Java-приложения.
- Наличие статус и action-бара в поддерживающих их Java-приложениях.
- Многие трёхмерные развлечения, особенно с Sony Ericsson, не запустятся.
Пошаговое руководство
Запустить старую Java-игрушку на современном Android-смартфоне с помощью эмулятора J2ME Loader получится у каждого. Мы избавим вас от необходимости разбираться во всем самостоятельно и экспериментировать.
- Получите root права для своего Android-смартфона.
- Установите эмулятор J2ME Loader из Play Market и предоставьте ему все необходимые доступы.
Имейте в виду! Эмулятор предлагает отправить SMS на платные номера с целью поддержки автора проекта (по желанию) – над ним трудится один человек, сил которого явно недостаточно для своевременной реализации задумок достаточно обширного пользовательского сообщества.
- Скачайте из интернета Java-игру в формате jar и запустите скачанный файл.
Эмулятор J2ME Loader автоматически подхватит знакомый программе формат и добавит игру в список установленных через эмулятор.
- Для старта игры запустите эмулятор J2ME Loader и кликните по игре в списке обнаруженных.
Настройте клавиатуру и наслаждайтесь.
Советы и выводы
Для полноценного игрового процесса рекомендуется обзавестись геймпадом, но получать root-права исключительно для того чтобы поиграть в старые Java-игры, явно не стоит. При появлении мерцаний отключите режим неотложной обработки, а если игра тормозит – отключите фильтрацию.
Источник: www.internet-technologies.ru
J2me программа что это
J2ME Loader
версия: 1.7.8
Последнее обновление программы в шапке: 18.12.2022
Краткое описание:
Запуск J2ME приложений на Android.
Описание:
Данный эмулятор является развитием программы J2meLoader, написанной пользователем Naik. Для работы приложения не нужен интернет, конвертация приложений происходит прямо на устройстве.
На данный момент поддерживается большинство 2д игр, поддержка 3д присутствует, но пока еще в очень ограниченном виде. Разработка продолжается.
Есть виртуальная клавиатура, индивидуальные настройки для каждого приложения, присутствует поддержка масштабирования.
Техническая информация
Системные требования: Android 4.0+
Разработчик: nikita36078
За поддержку 3D спасибо cerg2010cerg2010
Исходники: GitHub
- F.A.Q.
- Mini F.A.Q.
- О редактировании виртуальной клавиатуры
- Если вам не нравится управление Game keyboard
- Как вытащить музыку
- Небольшая подборка игр для J2ME Loader (хотя работают многие)
- Метод перевода J2ME игр
- Маркет J2ME игр
- Возможное решение проблем при конвертации
Дисклеймер
Как многие знают, нередко встречаются java-апплеты, содержащие в себе sms-трояны и подобные сюрпризы. Несмотря на то, что по сравнению с нынешними вирусами — это детские забавы, призываем вас к осмотрительности и осторожности при запуске на своих устройствах java-игр и приложений, выложенных на форуме. Особенно — при запуске на реальных девайсах, а не на эмуляторах
Если у вас возникла проблема но вы не нашли ответ в шапке
- Максимально подробно опишите проблему.
- Приложите скриншот (если возможно).
- Обязательно приложите jar.
- При возможности прикладывайте лог. Для этого, после возникновения ошибки, нажмите Меню — Сохранить лог. Файл log.txt будет лежать в папке J2ME-Loader.
Что нового
- Добавлена поддержка Mascot Capsule 3D
- Добавлена возможность создания скриншотов без фильтров и масштабирования
- Новый интерфейс для меню команд
- Добавлена блокировка поворота экрана
- Исправлены ошибки
Источник: 4pda.to