Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java ME (J2ME) > Помогите начинающему по J2ME |
Автор: ted 14.8.2005, 11:44 |
Доброго времени суток! Всем привет! Большая просьба помогите что нужно для начала программирования на J2me?Не скачивается ни одна ссылка из http://java.sun.com/products/sjwtoolkit/ Можно ли откуда нибудь еще скачать инструменты разработки? С уважением Тед |
Автор: batigoal 14.8.2005, 14:35 |
Заглядываем в FAQ ![]() http://forum.vingrad.ru/index.php?act=module&module=vingradfaq&target=main_panel&article=131 |
Автор: WildChild 15.9.2005, 09:18 |
Lamer George, посмотрел ссылку в FAQe... J2ME Wireless Toolkit 1.0.4_01 - это последняя версия J2ME????? ![]() Или появились новые версии? Будет ли J2ME Wireless Toolkit 1.0.4_01 работатьс с J2SE 5.0 (JDK 1.5)? Спасибо! |
Автор: WildChild 15.9.2005, 09:31 |
А вот это подойдет? J2ME Wireless Toolkit 2.2 FCS. Или не по месту это будет... |
Автор: Mihail ([email protected]) 29.11.2005, 20:49 |
как работать с файлами в "J2ME Wireless Toolkit 2.2". строка: bookSource_streamConnection = (StreamConnection)Connector.open("file:/BookSource.txt"); Всё компилирется нормально, но когда доходит до загрузки файла выдаёт: "java.lang.IllegalArgumentException: Missing protocol separator" Missing protocol separator - программа сократ переводит: "Потеря разделителя протокола" - как это понимать? |
Автор: Stalnoj 29.11.2005, 22:17 |
("file:/BookSource.txt"); ---> ("/BookSource.txt"); Путь, как минимум, должен быть таким. |
Автор: Stalnoj 29.11.2005, 23:02 | ||||
Вообще, StreamConnection использовать в J2ME для работы с файлами не представляется мне возможным.. Хотя может кто-нибудь и знает, как это делать. Вот, код, который читает данные из файла:
Пользуйтесь! |
Автор: erka 30.11.2005, 11:52 | ||
Так ты сможешь только читать файл и только тот, что находиться в jar-е.
На реальном телефоне нужна поддержка JSR-75 для этого кода. |
Автор: Гость_Mihail 2.12.2005, 20:18 |
А вот вам ещё вопрос: Процедуру рисования иожно осущиствить только из функции paint()? Если нет, то как рисовать с других мест в коде? И ещё: как нарисовать только часть рисунка а не весь? То есть фрагментик. Возможно ли это без применения sprite? |
Автор: javastic 5.12.2005, 10:09 |
Только через метод paint, кусочек отрисовать можно, сделав так чтобы он выходил за рамки видимости. |
Автор: Гость_Quest 7.12.2005, 19:15 |
Достала меня эта java... Ну как узнать как сделать переменныю ссылку на процедуру? Допустим есть процедуры "процедура1()" и "процедура2()" есть переменная "переменная", необходимо вот что: хочу процедуру вызывать так: переменная(); А вызываться будет та процедура, на которую указывает переменная. Ну и как это сделать на j2me? |
Автор: LSD 7.12.2005, 21:19 | ||||||
Как 2 байта переслать ![]() Создаем интерфейс:
Реализуем его парой классов:
А теперь можем создать два объекта и вызывать их методы одним и тем же кодом
|
Автор: Гость_Quest 8.12.2005, 06:21 |
// однако про interface надо тоже почитать Итак, как я понимаю, без заведения новых классов не обойтись. Но тогда можно и так: public abstract class mysclass { // Абстрактная процедура public abstract void myproc(); // Конструктор одни на всех. buplic mysclass() {} } То есть создаём некоторую абстрактную процедуру. Теперь делаем так: class class_myclass1 extends myclass{ public void myproc() { // Тут описаны одни действия } } class class_myclass2 extends myclass{ public void myproc() { // Тут описаны другие действия действия } } Теперь создаём переменные с этими классами myclass myvar; // это мы создали переменную для хранения данного объекта myvar = new class_myclass1(); // можно и myclass2 Хотя типы myclass и class_myclass1 немного различны, но работать это будет нормально. теперь при вызове myvar.myproc(); Может случаться разное. А без заведения новых классов никак????? |
Автор: Гость_Quest 8.12.2005, 06:27 |
И ещё одно сообщение от меня. В PHP это делается так(немного в синтаксисе могу ошибаться - давно не программировал). procedure1() { // тут действия1; } procedure2() { // тут действия2; } Переменные в PHP не объявляются вообще... Класть в переменную "myvar" можно любую функцию и вызывать её потом: $myvar = procedure1; $myvar(); // это так мы вызвали procedure1 $myvar = procedure2; $myvar(); // это так мы вызвали procedure2 |
Автор: batigoal 8.12.2005, 09:01 | ||
Можно и так, но лучше воспользоваться интерфейсом. Он для этого и предназначен - чтобы показать, что некие разнородные классы (которые, по логике, не могут быть связаны в иерархию) реализуют одинаковое поведение. Что касается второго варианта, наверное, он принципиально реализуем (с помощью механизма рефлексии), но, уверен, следует воспльзоваться первым вариантом, т.к. именно он соответствует правильному ООП подходу. |
Автор: Гость_Quest 8.12.2005, 17:03 |
Надо же какая странная эта java, а программировать всё равно хочеться. Придётся пока с интерфейсами работать. Но может кто-нибудь всё таки скажет: "Нельзя без заведения новых классов", или "Можно, вот как это делается...", а пока хоть вешайся... |
Автор: Гость_Quest 8.12.2005, 18:44 |
Всё пытаюсь зоздать класс для кнопок игры, но никак не удаётся - получается работоспособно, но гиганско и на мой взгляд так не делается. Кто знает как организовать кнопку? |
Автор: LSD 9.12.2005, 20:04 | ||
Можно, но есть куча но! Код работает медленней (вызов методов через рефлексию дольше в 10-50 раз), весьма ненадежно (на этапе компиляции никаких проверок не будет, только в runtime), и не уверен что это будет работать на J2ME. Если инетерес еще не пропал, то могу привести код. |
Автор: Гость_Quest 11.12.2005, 13:40 |
С кнопками я уже сам разобрался - решил сделать как и стандартные Command. То есть в кнопку кладём номер команды, а функцию они все одну вызывают. |
Автор: Гость_Quest 17.12.2005, 10:28 |
Уменя теперь 3 вопроса: 1) Можно ли создавать записи "coord" с вложенными в неё переменными X и Y (coord.x, coord.t), не создавая класса: class coordinates { int x, y; } 2) GameCanvas есть repaint() и flushGraphics() какая между ними разница? 3) Я вывожу часть рисунка, сделав "setClip" и бросая на экран весь рисунок - рисуется только там где можно, т.е. так как мне надо. Так ведь правильновыводить часть рисунка? Я замедления работы не замечаю. |
Автор: batigoal 17.12.2005, 12:08 | ||
Думаю, что нет. А зачем? |
Автор: nagliyvred 28.1.2006, 21:53 | ||||||||
Нет
В MIDP 2.0 поддерживается двойная буфферизация. Смысл в том что при вызове repaint() jvm вызывает метод paint() передавая ему в качестве параметра текущий графический контекст ( объект класса Graphics), и в нем происходит рисование - последовательный вызов методов drawXXX() - обращаемся к видеопамяти многократно. А можно создать дополнительный внеэкранный буфер - сначала нарисовать туда а потом разом вывести на экран. Так вот в MIDP 2.0 это уже реализовано (хотя несложно реализовать и самому). Для этого нужно получить ссылку на графический контекст методом getGraphics(), рисовать в него а затем разом выводить содержимое буфера на экран методом flushGraphics(); В принципе в MIDP 2.0 можно использовать и repaint() но рекомендуется все-таки использовать дв. буфферизацию. Вот приблизительное отличие в коде:
Правильно. Но при большом количестве рисования метод setClip() сильно тормозит на некоторых девайсах. Но зачастую от него никуда не денешься. |
Автор: NewDev 15.5.2006, 11:45 |
Не подскажет ли кто совсем начинающему.. Как создать файл и записать туда что-нибудь? У нас терминал Siemens TC65. Или как вообще лучше отладочные выводы делать.. |
Автор: javastic 16.5.2006, 10:18 |
NewDev, поищи поиском на этом форуме и можно обнаружить много чего интересного. Многие уже устали отвечать на одно и тоже по 50 раз. ![]() |
Автор: ThisIAmUnknown 16.7.2006, 11:38 |
Скажите, пожалуйста, а JSDK 2 будет работать с J2SE. А то у меня нет возможности закачать новую его версию. |
Автор: javastic 31.7.2006, 13:16 |
ThisIAmUnknown, что-то ничего не понятно из письма. Конкретнее можно? |