Комментарии 36
Эм… первый вопрос: с чего вы взяли, что destroyApp не вызывается AMS?
прекращением цикла жизни приложений руководит функция notifyDestroyed(), а не destroyApp()Вы прямо с самого начала статьи всё напутали совершенно. Эти функции не имеют ничего общего и совершенно разные значения имеют. Первая всего лишь велит переводить в destroyed, а вторая как раз, грубо говоря, вызывается в мидлете для указания этого факта (причём флаг в параметре указывает можно ли отбрить, почитайте про это). Совершенно точно так же, как есть notifyPaused, например, и pauseApp.
По сложившейся традиции, обычно блок данной функции выглядит следующим образом:
public void destroyApp(boolean unconditional) {
notifyDestroyed(); // данный метод закрывает наше приложение
}</java>И блок этот выглядит так по традиции (у вас, например) именно только затем, чтобы можно было вызывать метод destroyApp (помимо вызова его AMS) из самой программы, чтобы завершить мидлет насильно, например по кнопке QUIT, ибо при этом в destroyApp обычно всякие ресурсы освобождают итд итп, чтобы не городить отдельный метод для этого. И при вызове notifyDestroyed из destroyApp обратного вызова не происходит, это всё даже в явадоках, вроде описано.
0
Ну и дальше код какой-то странный, честно говоря, не по-джавовски как-то, классы со строчных букв, переменные с заглавных и т.п. И писано про GameCanvas, а пишется на Canvas почему-то. Выясняется в итоге, что писали про свой класс, а взяли чужой? Оригинально-с :) За острый приступ ностальгии +1 всё равно можно поставить.
+2
Да, напутал немного. destroyApp() вызывается самой AMS, когда, например, java-машине не хватает памяти в heap'е. Это да — в этом признаю ошибку.
0
Справедливости ради, не QUIT, а EXIT. Константа в javax.microedition.lcdui.Command.
0
Дайте готовый jar, пощупаю на телефоне :))
+1
Держите — upwww.ru/?id=2962 :)
0
upwww вместо Screensaver.jar мне телефону подсунул загрузчик платного контента за смс, сцуко.
скачал по прямой ссылке. няшка! :)
Найду какой-нибудь второй телефон, сфотаю
скачал по прямой ссылке. няшка! :)
Найду какой-нибудь второй телефон, сфотаю
+1
У вас какой телефон, если не секрет? ;)
+1
Philips X550 :)
+1
Неплохой аппарат. Преимущественно, фили держат зарядку прекрасно, как и Sony Ericsson. Плюс ко всему, их очень тяжело разбить. :)
+1
Трещину на экране я ему посадил, глюки с блютус гарнитурой наличенствуют, с жавой отдельная песня (например этот FREE_XXX_VIDEOS я удалить не могу — телефон уходит в перезагрузку сразу), но в остальном… как звонилка он работает на ура, батарею держит очень долго, MidpSSH и Opera Mini работают.
+1
Всё-таки согласитесь, что фили — самые ударопрочные телефоны. Сам пользовался — знаю, что за зверь.
+1
Тоже MidpSSH используете? :)
+1
Дико извиняюсь. Просто в тот момент уже с телефона сидел, поэтому скинул на что первое в закладках попалось. :)
0
Прощай, зарядка?
-2
Вообще не особо тратится зарядка. Я кстати засекал ради интереса: у меня LG KP500 и до полной разрядки с включенным скринсейвером она работала ~17 часов.
0
Это при том, что зарядки оставалось ~40%
0
Поставил скринсейвер на свой Sony Ericsson K550i. Для чистоты эксперимента зарядил его полностью. Как сядет батарейка — отпишусь.
0
Вам будет интересна статья по геймдеву для J2ME. За пример думаю взять текущую поделку, которая скоро будет в Ovi Store
0
Это был вопрос!
0
Не плохо было бы. Искал литературу по j2me — много старых материалов. Хотелось бы увидеть что-то более современное.
Так же хотел спроить про интерфейс приложения. Его тоже лучше через canvas рисовать? Слишком неразнообразен набор стандартных элементов.
Так же хотел спроить про интерфейс приложения. Его тоже лучше через canvas рисовать? Слишком неразнообразен набор стандартных элементов.
+1
В пакете javax.microedition.lcdui реализован весь необходимый UI. К сожалению, на рынке J2ME телефонов ситуация такая же, как когда-то была между Netscape и IE. Каждый производитель отрисовывает стандартные элементы UI по-своему. Красивые же интерфейсы, которые выглядят одинаково на всех устройствах (Jimm, за примером далеко ходить не надо) рисуются на Canvas, да. Есть готовые библиотеки для отрисовки красивого UI на Canvas.
0
Я лично постигал искусство программирования под J2ME по этим самым старым материалам и, собственно, небезызвестной книге Буткевича, которая новой тоже не является.
0
Значит решено — статье быть. Хотя, если честно, в них не будет никакой новизны. Код почище, логика по логичнее (извиняюсь за каламбур), ну и описывать процесс буду более детально. :)
0
Мне интересно, кто-нибудь сам решился скомпилировать приведённые мною исходники? :)
0
Вторая часть моих размышлений и растлоковании теории создания J2ME MIDlet'ов — читать здесь.
0
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Screensaver на J2ME или Назад в прошлое. Часть первая