Модераторы: javastic, AntonSaburov
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Как сделать командный файл для запуска мидлетов на симуляторе WTK. 
:(
    Опции темы
javastic
Дата 20.12.2005, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1214
Регистрация: 18.3.2005
Где: St.Petersburg

Репутация: 19
Всего: 27



Сначала сделали приложение.
В нашем классе мидлета сделаем такую строчку getClass().getResourceAsStream("/image/myImage.png");
это даст нам обратиться к файлу myImage.png который располагается в /image/ папке в JAR файле. Для того, чтобы папка /image/ и всё её содержимое добавилось в JAR, нужно содздать папку image в путь_где_располагается_WTK/apps/имя_нашего_приложения/res/ 
После чего в папку image положить созданный нами файлик myImage.png 

Код


public class MyMIDlet extends MIDlet {
    InputStream is;
    public void startApp() {
        is = getClass().getResourceAsStream("/image/myImage.png");
    }
....
}


Скомпилируем приложение на WTK, если нету ошибок (если есть, то исправляем ошибки до тех пор пока они не исчезнут), то после этого сделаем Package. В WTK в меню Project->Package->Create Package. У нас должен будет появится JAR файл в папке путь_где_располагается_WTK/apps/имя_нашего_приложения/bin/ 
проверяем, всё ли вошло в этот JAR файл, в нашем случае нас интересует image/myImage.png (нужно разархивировать JAR и проверить что в корне архива присутствует директория image а в ней есть файл myImage.png)
Для того, чтобы разархивировать JAR файл можно воспользоваться любым архиватором, который умеет работать с zip форматом, или же из командной строки произвести разархивацию. (путь_где_java/bin/jar -xf JAR_файл)

Когда у нас есть нормальный JAR (мы его проверили, и там у нас действительно есть все наши ресурсы на своих местах), можно пробовать запускать наш JAR вручную, не запуская ktoolbar для WTK. 
Для этого в принципе можно посмотреть, как организованы bat файлы в тех приложениях, которые идут вместе с WTK как предустановленные, их нужно искать в папке bin для каждого приложения.
BAT-файл -  это специфический файл для Windows/DOS систем. Это исполняемый файл (подобие sh файлов для Linux)
в bat файле мы можем организовывать целый сценарий действий (например перейти по какому то определённому пути, там что-то создать, скомпилировать и т.д., затем например что либо куда нибудь скопиировать, удалить и так далее)
Нам из всего этого хозяйства нужно будет лишь сформировать необходимое окружения, для того чтобы могла запуститься java и simulator для WTK. (сейчас речь идёт лишь про WTK, если же захочется запускать точно так же под симуляторами для других телефонов, нужно будет узнать, запускается ли отдельно симулятор для этого телефона, какой командой и какие ключи нужны для запуска, и что необходимо передавать)
В любом редакторе делаем текстовый файлик, озываем его как угодно, с расширением bat (для простоты, я его сейчас обзову как proba.bat)

Чтобы исключить всякие нехорошие ситуации с тем, что на  машине могут быть кучу JDK, установлены другими пользователями переменные среды окружения и т.д. мы сформируем заново для себя (для нашей текущей сессии) новые переменные среды окружения (которые перекроют уже существующие переменные с такими же именами, но по окончанию работы, когда в bat файле будут выполнены все инструкции, мы выйдем завершим работу файла и перектрытые переменные примут своё прежнее значение)
Начнём создавать наш proba.bat файл

Сначала укажим, где у нас располагатеся JAVA SDK:
JAVA_HOME = C:\java\ 
у вас это может быть где угодно на диске, тогда указываете тот путь, где реально у вас установленно SDK
Для того чтобы можно было пользоваться всеми файлами из java_SDK/bin просто написав имя файла при выполнении какой либо команды внутри bat файла, нужно либо находится в этом каталоге, где исполняемый файл находится, либо чтобы путь к этому файлу был указан в системной переменно PATH
для того чтобы мы в своё файлике могли использовать просто обращение java или jar/javac и т.д. из java_SDK/bin нужно будет внести в переменную PATH информацию о том, где располагается java_SDK:
PATH = %JAVA_HOME%\bin

как вы могли заметить, что можно использовать значения уже имеющихся переменных, для этого необходимо поставить имя этой перменной между  символами %. То есть теперь у нас в PATH раполагается следующая строка C:\java\bin
Если мы хотим перечислить несколько значений в переменной PATH то их нужно разделять между собой символом точка с запятой (;)
Если мы хотим использовать точто уже на текущий момент установленно в PATH и к этому добавить какое-то ещё необходимое для нас значение, то можно делать так:
PATH=%PATH%;%JAVA_HOME%\bin

Переменная CLASSPATH, в ней описываются библиотеки классов и классы, методы из которых могут вызываться в java программе, так же нужно не забывать указывать в этой перемнной точку (.), точка означает текущий каталог, то есть каталог из которого был произведён запуск скрипта или старт команды.

Теперь всё это соберём в кучу и получим фйлик, с помощью которого можно будет запускать в принципе любое приложения запакованное как JAR и созданное для J2ME

set WTK = C:\WTK_22
set JAVA_HOME = C:\java
set PATH=%PATH%;%WTK%\bin;%JAVA_HOME%\bin
CLASSPATH=.;%WTK%\lib\midpapi20.jar;%WTK%\lib\cldcapi10.jar;%CLASSPATH%;
%WTK%\bin\emulator -Xdescriptor:%1 

Всё что написано выше кладём в файлик proba.bat (но не забываем указать путь где именно располагается java_SDK и WTK)
%WTK%\bin\emulator -Xdescriptor: %1 в этой строчке и происходит в общем то сам запуск окошка эмулятора. -Xdescriprot - это аттрибут исполняемого файла emulator.exe который располагается в папке %WTK%\bin

Какие ещё аттрибуты есть у этого исполняемого файла можно узнать вызвав этот исполняемый файл на консоли с атрибутом -help (минус help)
Для нас сейчас актуален лишь аттрибут -Xdescriptor: (минус Xdescriptor двоеточие) после символа двоеточие необходимо указать JAD файл который будет стартован в окне симулятора.
если у нас файл proba.bat будет располагаться там же где и файл JAD нашего приложения то в командной строке нам необходимо будет написать: proba.bat имя_нашего_JAD_файла (имя должно писаться вместе с расширением jad)
так же необходимо проверить атрибут MIDlet-Jar-URL:  который располагается в JAD файле. (в принципе он всегда будет указывать на JAR файл который находится в одном и том же каталоге с его JAD файлом, но если это не так, то нужно проверить, а лежит ли по указанному в этом атрибуте пути тот jar файл имя которого указано в аттрибуте)
%1 это ни что иное как первый параметр в командной строке который должен быть, когда мы пытаемся выполнить proba.bat файл

Автор:
Dancer


Это сообщение отредактировал(а) javastic - 15.8.2007, 10:29


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса

  • Прежде чем задать вопрос прочтите это!
  • Литература по Java находится здесь.
  • Литературу по Java обсуждаем здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда

  • FAQ раздела лежит здесь!
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java ME (J2ME) | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.