![]() |
Модераторы: javastic, AntonSaburov |
![]() ![]() ![]() |
|
Гость_Гость |
|
|||
Unregistered |
Я очень начинающий.Прошу помочь
Вот у меня книга Горнакова с CD.Если вручную набираю примеры из этого CD(речь пойдет о программках с изображением в виде фона или иконок) в WTK21, помещаю картинку в res,компилирую,архивирую,нажимаю RUN-всё нормально-появляется эмулятор с картинкой.Но...закрываю WTK,пробую просмотреть работу программы нарямую-С->WTK21->имя_проекта->bin->.jad-файл(в виде иконки телефона),то появляется эмулятор но без картинок.Тот же результат,если запускать прогр. напрямую с CD.Примеры без картинок нормально работают,примеры с низкоуровневым интерфейсом(когда картинки прям в коде рисуются)-нормально работают, а если нужно заружать изображение Image img = Image.createImage("ris1.png"); то в эмуляторе нет ни картинок ни иконок. Пробовал вот так: Image img = Image.createImage("/res/ris1.png"); то тогда даже в WTK21 после RUN - эмулятор без картинки. Что делаю не так? Заранее спасибо за помощь |
|||
|
||||
Dancer |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
переменные среды окружения проверь
или сгенери батник (или sh) set WTK = где у тебя WTK установленно set PATH=%PATH%;%WTK%\bin; CLASSPATH=%CLASSPATH%;.;%WTK%\lib\midpapi20.jar;%WTK%\lib\cldcapi10.jar; %WTK%\bin\emulator -Xdescriptor:%1 Это сообщение отредактировал(а) Dancer - 16.12.2005, 19:09 -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! ![]() |
|||
|
||||
_Гость_Гость |
|
|||
Unregistered |
Большое спасибо. Пойду пробовать
|
|||
|
||||
Guest |
|
||||
Unregistered |
Добрый день! Попробывал, помучился-результат тот-же.
1.
Мой компьютер-->Свойства-->Дополнительно-->Переменные среды. Там создал C:\j2sdk1.4.2_03\bin A вот CLASSPATH у меня нет. Везде пишут что нужно её обязательно устанавливать. Но я не пойму-где её нужно установить? Сколько их нужно -одну на мидлет,одну на проект или одну общую(что-то там со знаком .(точка) связано)? Кстати вопрос. PATH устанавливал именно через Мой компьютер, а не из командной строки, потому что набирая в ней,например set PATH =c:\ j2sdk1.4.2_03\bin Закрываю команд. строку, снова открываю, пишу опять set PATH ,получаю ответ-Переменная среды PATH не определена. И вот вопрос-эти и другие переменные ставятся только через Мой компьютер или у меня опять что-то не так? ( WINDOWS XP) 2.
Я долго думал, что это значит. Нужно создать какой-то .bat-файл? И прописать в нём эти строки? Если да-то расскажите пожалуйста поподробнее, как и где его создавать. А может нужно это написать в autoexec.bat? Я так и сделал,но ничего не изменилось.Нет изображения в эмуляторе. Dancer, можно попросить тебя, вкратце растолковать, что значат эти строки. Их вот так, слово в слово, куда-то переписать? Или что-то менять под свой компьютер? Например, у меня в папке WTK21 нет папки bin, а есть BIN-регистр важен или нет? Блин! Кажись это не последние вопросы... |
||||
|
|||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Заглядываем в FAQ: Как начать работать с Java
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
_Гость_гость |
|
|||
Unregistered |
Lamer George, что в этом FAQ поможет мне найти картинки. Компилировать и запускать первую програмку я учился по этой ссылке в том числе. А как запускать на других эмуляторах примеры с изображением, да так чтоб работало-ну нет там этого!
|
|||
|
||||
Dancer |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
Ладно так и быть, убью своё время не на долго
![]() Сначала сделали приложение. В нашем классе мидлета сделаем такую строчку getClass().getResourceAsStream("/image/myImage.png"); это даст нам обратиться к файлу myImage.png который располагается в /image/ папке в JAR файле. Для того, чтобы папка /image/ и всё её содержимое добавилось в JAR, нужно содздать папку image в путь_где_располагается_WTK/apps/имя_нашего_приложения/res/ После чего в папку 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 файл -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! ![]() |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Dancer
Я потрясен ![]() -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
javastic |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: 19 Всего: 27 |
Dancer, сей труд был добавлен в FAQ по J2ME.
Спасибо за подробное описание. -------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
Dancer |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 29.4.2005 Где: Nizhniy Novgorod Репутация: 33 Всего: 37 |
Тогда уж стоит заголовок сменить, я там про работу с изображениями ничего не говорил. Это всё лишь про то, как работать с WTK и как сделать командный файл для запуска мидлетов на симуляторе WTK
(ну, или мне продолжить писать про работу с Image на J2ME, что бы соответствовало названию ![]() -------------------- У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! ![]() |
|||
|
||||
javastic |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: 19 Всего: 27 |
Заголовок поменял на "Как сделать командный файл для запуска мидлетов на симуляторе WTK".
А новые статьи в FAQ всегда приветствуются. -------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
_Гость_Гость |
|
|||
Unregistered |
Dancer
Большое человеческое спасибо |
|||
|
||||
javastic |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: 19 Всего: 27 |
_Гость_Гость, я гляжу Вы серьезно заинтересованы вопросом программирования под J2ME, зарегистрируйтесь и Вам будут доступны многие полезные функции форума.
![]() -------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
Omut |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 22.12.2005 Репутация: нет Всего: нет |
javastic, спасибо. Зарегистрируюсь как Omut.
|
|||
|
||||
![]() ![]() ![]() |
FAQ раздела лежит здесь! |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |