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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Куда делось изображение, Нужна помощь в работе с картинками 
:(
    Опции темы
Гость_Гость
Дата 16.12.2005, 16:18 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 16.12.2005, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
_Гость_Гость
Дата 17.12.2005, 14:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Большое спасибо. Пойду пробовать
  Вверх
Guest
Дата 19.12.2005, 13:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Добрый день! Попробывал, помучился-результат тот-же.
1.
Цитата
переменные среды окружения проверь
Что именно проверять? Что должно быть? Несколько ранее я установил PATH.
Мой компьютер-->Свойства-->Дополнительно-->Переменные среды. Там создал C:\j2sdk1.4.2_03\bin
A вот CLASSPATH у меня нет. Везде пишут что нужно её обязательно устанавливать. Но я не пойму-где её нужно установить? Сколько их нужно -одну на мидлет,одну на проект или одну общую(что-то там со знаком .(точка) связано)?
Кстати вопрос. PATH устанавливал именно через Мой компьютер, а не из командной строки, потому что набирая в ней,например
set PATH =c:\ j2sdk1.4.2_03\bin
Закрываю команд. строку, снова открываю, пишу опять set PATH ,получаю ответ-Переменная среды PATH не определена. И вот вопрос-эти и другие переменные ставятся только через Мой компьютер или у меня опять что-то не так? ( WINDOWS XP)
2.
Цитата
или сгенери батник (или sh)
                                  set PATH=%PATH%;%WTK%\bin;
                                CLASSPATH=%CLASSPATH%;.;%WTK%\lib\midpapi20.jar;%WTK%\lib\cldcapi10.jar;
                                  %WTK%\bin\emulator -Xdescriptor:%1

Я долго думал, что это значит. Нужно создать какой-то .bat-файл? И прописать в нём эти строки? Если да-то расскажите пожалуйста поподробнее, как и где его создавать.
А может нужно это написать в autoexec.bat? Я так и сделал,но ничего не изменилось.Нет изображения в эмуляторе.
Dancer, можно попросить тебя, вкратце растолковать, что значат эти строки. Их вот так, слово в слово, куда-то переписать? Или что-то менять под свой компьютер? Например, у меня в папке WTK21 нет папки bin, а есть BIN-регистр важен или нет?
Блин! Кажись это не последние вопросы...







  Вверх
batigoal
Дата 19.12.2005, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Заглядываем в FAQ: Как начать работать с Java


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
_Гость_гость
Дата 19.12.2005, 15:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Lamer George, что в этом FAQ поможет мне найти картинки. Компилировать и запускать первую програмку я учился по этой ссылке в том числе. А как запускать на других эмуляторах примеры с изображением, да так чтоб работало-ну нет там этого!
  Вверх
Dancer
Дата 19.12.2005, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 33
Всего: 37



Ладно так и быть, убью своё время не на долго smile. Начнём ликбез. (на занесения сего творения в FAQ не претендую)

Сначала сделали приложение.
В нашем классе мидлета сделаем такую строчку 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 файл






--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
batigoal
Дата 19.12.2005, 23:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151



Dancer
Я потрясен smile



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
javastic
Дата 20.12.2005, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Dancer, сей труд был добавлен в FAQ по J2ME.
Спасибо за подробное описание.


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
Dancer
Дата 20.12.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 29.4.2005
Где: Nizhniy Novgorod

Репутация: 33
Всего: 37



Тогда уж стоит заголовок сменить, я там про работу с изображениями ничего не говорил. Это всё лишь про то, как работать с WTK и как сделать командный файл для запуска мидлетов на симуляторе WTK
(ну, или мне продолжить писать про работу с Image на J2ME, что бы соответствовало названию smile) )


--------------------
У программистов есть великая тайна: всё, что только можно, было давно кем-то когда-то написано. Разработчику только нужно знать в какое место кода какие строчки вставить! smile
PM MAIL   Вверх
javastic
Дата 20.12.2005, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Заголовок поменял на "Как сделать командный файл для запуска мидлетов на симуляторе WTK".
А новые статьи в FAQ всегда приветствуются.



--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
_Гость_Гость
Дата 20.12.2005, 14:09 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Dancer
Большое человеческое спасибо
  Вверх
javastic
Дата 20.12.2005, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



_Гость_Гость, я гляжу Вы серьезно заинтересованы вопросом программирования под J2ME, зарегистрируйтесь и Вам будут доступны многие полезные функции форума.
smile


--------------------
01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011
scjp, mcp 
PM MAIL WWW ICQ   Вверх
Omut
Дата 22.12.2005, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 22.12.2005

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



javastic, спасибо. Зарегистрируюсь как Omut.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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