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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> j2me приложение "Будильник", можно ли сделать его системным? 
:(
    Опции темы
eugine_s
Дата 28.9.2008, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Lisus @  28.9.2008,  17:01 Найти цитируемый пост)
А если надо дольше, что делать-то?
Я так понимаю, что сертификат - это вещь связанная с определённым мидлетом, а не с определённым телефоном. (А то мало ли.)


сертификатом ты можешь подписать сколько угодно мидлетов в течении года.

подписанный мидлет имеет свои сроки годности и они обычно больше года (5, 10 лет)

сертификат не связан с определенным мидлетом
PM MAIL   Вверх
Dummy
Дата 28.9.2008, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Lisus @  28.9.2008,  14:13 Найти цитируемый пост)

А если без сертификата, то...
мидлет будет выдавать 2 запроса на разрешения?
 один на пробуждение Мидлета, а второй на создание серверсокета?

Да, т. к. пробуждение мидлета относится к пермишну javax.microedition.io.PushRegistry, а открытие серверного сокета - к пермишну javax.microedition.io.serversocket.

Цитата(eugine_s @  28.9.2008,  16:27 Найти цитируемый пост)
Хотя вполне возможно, что будет еще какие-то "промежуточные" запросы в самом начале. Типа "Разрешить этому мидлету работать с PushRegistry?" Ответил - нет, тогда в дальнейшем всегда не будет запросов, мидлет всегда будет получать "нет". Если ответил "да" тогда всегда будет спрашивать у пользователя: "разрешить? да-нет" (если в настройках стоит: всегда спрашивать).

Если настройка установлена во "всегда спрашивать", то AMS должен верить ответу пользователя в отношении конкретного пермишна только до следующего обращения к этому пермишну. Т. е., например, если пользователь запретил мидлету открыть ServerSocket, то мидлет получит SecurityException, но при следующей попытке мидлета открыть ServerSocket - пользователя опять должны спросить.
PM MAIL   Вверх
Lisus
Дата 29.9.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Ещё вопрос по этой теме:

Если ставить временной вызов. Как я понял мидлет должен пробудиться в определённое время. Чтобы лбеспечить переодичность вызова, нужно после каждого вызова переустанавливать таймер.
Например.
* 10.00 (ставим таймер на 12)
* 12.00 (ставим на 14)
.....
А если произойдёт такая ситуация:
Таймер установлен на 10.00, но в это время мобила была вырублена. И по этой причине мидлет не был вызван, и поэтому не смог переустановить таймер на следующий вызов.
Думаю проблема понятна. Что здесь и как?

Ситуация с пользовательским изменением времени (системного) тоже интересна. Если таймер установле на 10.30, а пользователь в 10.00 изменит на час вперёд, тогда что? мидлет никогда не запустится?
Есть подозрение, что таумер запускает не ровно в 10.00, а в любое время после 10.00(если таймер не был вызван), те. запуск иден не при условии t==t_time, а при t>=t_time.
Тогда интересна другая ситуация: если 2 мидлета придётся запускать одновременно... получается, что первый запуститься и...тут же будет убит вторым мидлетом, так и не выполнив необходимую работу. Например не изменив таймер запуска последующего.
PM MAIL   Вверх
Dummy
Дата 29.9.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Lisus @  29.9.2008,  12:44 Найти цитируемый пост)
Таймер установлен на 10.00, но в это время мобила была вырублена. И по этой причине мидлет не был вызван, и поэтому не смог переустановить таймер на следующий вызов.

Похоже, что MIDP не покрывает этот случай, так что все остается на откуп конкретной реализации AMS. В той, с которой работал я, этот случай обрабатывался корректно - alarm push срабатывал сразу после включения телефона.

Цитата(Lisus @  29.9.2008,  12:44 Найти цитируемый пост)
Есть подозрение, что таумер запускает не ровно в 10.00, а в любое время после 10.00(если таймер не был вызван), те. запуск иден не при условии t==t_time, а при t>=t_time.

Вполне очевидно, если учесть, что t == t_time может не сработать из-за элементарных погрешностей и неидеальности режима реального времени smile Другой вопрос, а дойдет ли вообще дело до этой проверки? Опять же, общего ответа на этот вопрос не вижу. В принципе, логично, что AMS, проснувшись после включения телефона, начинает сразу начинает прочесывать очереди зарегистрированных пушей и обрабатывать те, для которых пришло время, но это только общие соображения...

Цитата(Lisus @  29.9.2008,  12:44 Найти цитируемый пост)
Тогда интересна другая ситуация: если 2 мидлета придётся запускать одновременно... получается, что первый запуститься и...тут же будет убит вторым мидлетом, так и не выполнив необходимую работу. Например не изменив таймер запуска последующего. 

У убиваемого мидлета сработает destroyApp(), в котором можно проверить, был ли зарегистрирован следующий alarm или нет.

PM MAIL   Вверх
vito1945
Дата 30.9.2008, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем спасибо. подсказок много, буду разбирать и решать.
А приложение - действительно будильник;)
Вот еще до кучи вопрос. Какими средствами организуется доступ к файловой системе телефона (карты памяти)?
( задуман выбор мелодии будильника из списка файлов телефона)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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