motofan logo
       
> 

Birthday - Напоминание О Днях Рождения, моя первая программа J2ME

motoviper
сообщение 9.9.2006, 18:19 Закрепленное сообщение!


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



Хочу представить свой первый мидлет Birthday
Он предназначен для напоминания о приближении дня рождения людей, у которых дата рождения прописана в контактах. После мидлет сканирует список контактов и добавляет напоминания в календарь. За сколько дней напоминать, время напоминания - настраивается.

Так как аплет использует доступ к списку контактов и календарю, устанавливать надо через MotoMidman с полными правами.

Пишите свои отзывы, предложения по доработке.

ПРЕДУПРЕЖДЕНИЕ: при установленной мелодии на контакте возможна перезагрузка телефона при считывании списка контактов апплетом. Похоже это баг в реализации PIM API. Пожалуйста, отписывайтесь, есть ли у вас этот баг или нету

Birthday v1.2

Сообщение отредактировал motoviper - 20.7.2007, 12:52
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 10.9.2006, 22:41


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431
Модель телефона: iPhone
Прошивка: 2.2.1

Рейтинг: 627.5



Молодец, давно мечтал о таком мидлете!

Есть несколько пожеланий:
  • События создаются с временем 12:00 и продолжительностью 8 часов. Может лучше сделать продолжительность события - весь день, а время начала не устанавливать?
  • Еще желательно построить работу с мидлетом следующим образом:
    1) сначала прочитать телефонную книгу и отобразить список контактов, у которых есть день рождения
    2) дать пользователю возможность отметить контакты, для которых нужно создать напоминание (для остальных просто создавать событие без напоминания) и подтвердить действие
    3) собственно добавить/обновить события
  • Неплохо было бы, чтобы год рождения тоже прописывался в календарь[OFF] - дата события должна быть в будущем.[/OFF]
  • Сделать функцию удаления событий, созданных мидлетом.
Также есть маленький баг: из мидлета нельзя выйти, не установив напоминания (левая софт-клавиша не работает) - только красной кнопкой.

Сообщение отредактировал blackbox - 12.9.2006, 12:30
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 11.9.2006, 5:51


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



Спасибо за положительный отзыв! Пожеланияя постараюсь выполнить в ближайшее время.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 11.9.2006, 7:45


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



blackbox, по первому пожеланию: создал в календаре вручную событие на весь день, посмотрел через Java - дата начала 0:00, окончания - 0:00 следующего дня. Через Java создаю событие с такими датами начала и окончания - в телефоне они так и отображаются, как начинающиеся в полночь... Выходит телефон имеет флаг "событие на весь день" но из Java этот флаг не доступен... если кто знает как создать такое событие - подсткажите. Пока так и будет - начало в 12 часов дня, т.е. предупредит в 12:00 за указанное число дней до ДР.
Баг с выходом исправил, доработаю интерфейс и выложу новую версию :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 11.9.2006, 20:55


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



Некоторые пожелания реализовал:
- можно удалить все события созданные аплетом
- можно установить напоминания о ДР выборочно для некоторых контактов
- настраивается время напоминания и за сколько дней до ДР давать напоминание
- переделал интерфейс
- исправил ошибки (добавил новые :) )

Качайте новую версию Birthday v1.1!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
pes_voiny
сообщение 12.9.2006, 9:58


Мастер
****

Группа: Пользователи
Сообщений: 150
Регистрация: 21.2.2006
Из: Киев
Пользователь №: 71 361
Модель телефона: E398
Прошивка: 49R_Elektro255_v0.3

Рейтинг: 8



motoviper,
У меня пожалуйста подождите бегает и все!Скоко то ждать нужно???
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 12.9.2006, 12:20


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431
Модель телефона: iPhone
Прошивка: 2.2.1

Рейтинг: 627.5



pes_voiny,
Дай мидлету права доступа через MotoMidMan.

motoviper,
Спасибо за новую версию.
А вот новые баги:
- выбрал функцию "Удалить напоминания", в результате получил сообщение "Удалено событий: 149". Это общее количество событий в календаре (хорошо хоть все не удалил :) ), а дней рождения у меня только 15.
- в настройках установил время напоминания 12:00 - в календарь прописались события с началом в 9:00 и продолжительностью 11 ч; если оставить настройки по умолчанию (15:00) - получается начало в 12:00 и продолжительность 8 ч. Если можно, сделай нулевую продолжительность.

Кстати, вот что пишут в спецификации PIM Optional Package 1.0:
Цитата
If START and END are the same this event is an all day event. If START is specified but END is not, the event occurs only at the instance specified by START.

Значит, если установить одинаковую дату начала и конца, событие будет длиться весь день. Если не указывать дату окончания, событие будет иметь нулевую продолжительность.

Сообщение отредактировал blackbox - 12.9.2006, 12:43
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
pes_voiny
сообщение 12.9.2006, 13:04


Мастер
****

Группа: Пользователи
Сообщений: 150
Регистрация: 21.2.2006
Из: Киев
Пользователь №: 71 361
Модель телефона: E398
Прошивка: 49R_Elektro255_v0.3

Рейтинг: 8



blackbox,
Дык он и так автоматом дает все права при установке приложений!!! У меня все приложения имеют полный доступ,без ручной дачи прав,я просто их ставлю через МММ и все!
Попробовал дать права с помощью МММ вручную, резьльтат тот же!
Да и в принцыпе если б у меня небыло прав,то телефон либо спросил бы меня сам дать право доступа или нет или приложение потерпело crash!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 12.9.2006, 14:11


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



blackbox, как то нехорошо получается - стока багов у меня.... Буду исправлять

pes_voiny, доделаю чтобы выдавал диагностические сообщения если что-то идет не по плану
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 16.9.2006, 19:12


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



Цитата
- в настройках установил время напоминания 12:00 - в календарь прописались события с началом в 9:00 и продолжительностью 11 ч; если оставить настройки по умолчанию (15:00) - получается начало в 12:00 и продолжительность 8 ч. Если можно, сделай нулевую продолжительность.

Странно... Вообще-то у меня по умолчанию стоит 12:00 и все устанавливается правильно. У тебя получается разница в три часа (12:00 у меня и 15:00 у тебя по умолчанию, 12:00 ты пишешь и 9:00 программа ставит). Похоже тут какой-то глюк у меня связанный с часовыми поясами... Не подскажешь в какую сторону копать?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 16.9.2006, 20:25


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



Выложил новую версию, см 1й пост.
Глюк со временем как я понял был из-за того что DateField преобразовывает время в соотв с текущей часовой зоной.

2blackbox - у тебя настраивается часовая зона в телефоне?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 18.9.2006, 13:26


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431
Модель телефона: iPhone
Прошивка: 2.2.1

Рейтинг: 627.5



Цитата(motoviper @ Суббота, 16 Сентября 2006, 23:25)
у тебя настраивается часовая зона в телефоне?
*


А где она настраивается?
Может это связано с тем, что я включил синхронизацию часов (в seem 0032 биты AUTOUPDATE_AVAILABLE и NITZ_AVAILABLE). Хотя бит PHONE_TIMEZONE_AVAILABLE отключен.
Вообще у меня часовой пояс UTC+2, а сейчас летнее время, поэтому получается UTC+3.

Похоже у тебя значение времени по умолчанию (12:00) задано с часовым поясом UTC+0, и где-то оно неявно конвертируется в местное время.
С классами даты/времени в Java я не разбирался, но в JavaScript есть подобные заморочки.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 18.9.2006, 13:34


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



Можешь потестить версию 1.2? Она прикреплена к первому посту
дело в том что я не могу у себя эту ошибку повторить поэтому трудно сказать внесенные изменения исправили ее или нет.....
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 19.9.2006, 21:56


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431
Модель телефона: iPhone
Прошивка: 2.2.1

Рейтинг: 627.5



Потестил - бага с часовым поясом нет, продолжительность событий устанавливается нулевая.
Попробуй еще сделать события на весь день, как я писал выше, а так все отлично :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 20.9.2006, 5:44


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



Цитата
Значит, если установить одинаковую дату начала и конца, событие будет длиться весь день. Если не указывать дату окончания, событие будет иметь нулевую продолжительность.

Я уже пробовал. Похоже Motorola не строго следует спецификации - если дата начала и конца совпадает то получается событие с нулевой продолжительностью, а если не указывать дату конца, то при добавлении события она приписывается автоматом (дата начала+1 мин). Так что событие на весь день сделать не получается, да и врядли нужно - ведь у такого события не может быть времени начала и непонятно в какое время сработает напоминание.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
pes_voiny
сообщение 20.9.2006, 6:27


Мастер
****

Группа: Пользователи
Сообщений: 150
Регистрация: 21.2.2006
Из: Киев
Пользователь №: 71 361
Модель телефона: E398
Прошивка: 49R_Elektro255_v0.3

Рейтинг: 8



motoviper,
Почему у меня при обращении к контактам тело в ребут уходит???Не может ли это быть из-за того,что картинка и мелодия на один контакт стоит???
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 20.9.2006, 7:15


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



pes_voiny, ты прав! При чем в L7 этот глюк тоже есть. Если у контакта стоит картинка и мелодия то при обращении к контактам телефон перезагружается... Странно... И вряд-ли это как-то можно обойти из Java
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BacCM
сообщение 20.9.2006, 11:39


Новичок
*

Группа: Пользователи
Сообщений: 14
Регистрация: 3.9.2006
Из: г. Пушкино, МО, РФ
Пользователь №: 97 537
Модель телефона: e398
Прошивка: R372_G_0E.20.95R

Рейтинг: 0



motoviper,
Цитата
Странно... И вряд-ли это как-то можно обойти из Java

Млин, только губы раскатал скачать...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 20.9.2006, 14:01


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431
Модель телефона: iPhone
Прошивка: 2.2.1

Рейтинг: 627.5



У меня установлены картинки на контакты, мелодии - нет. Ничего не перезагружается. Прошивка ACR_RB.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 20.9.2006, 15:33


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



Моя прошивка - в профиле. Если установлены картинки все ОК. Стоит тока поставить картинку и мелодию - перезагружается. При чем не только моя прога но и стандартный Demo из Wireless toolkit который обращается к контактам

Исправление: достаточно поставить мелодию на контакт - и телефон перезагружается

2blackbox - потести пожалуйста, перезагружается ли на твоей прошивке если на контакте стоит мелодия

Сообщение отредактировал motoviper - 20.9.2006, 16:07
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
blackbox
сообщение 22.9.2006, 18:50


Control Freak
******

Группа: Разработчики
Сообщений: 838
Регистрация: 23.9.2005
Пользователь №: 52 431
Модель телефона: iPhone
Прошивка: 2.2.1

Рейтинг: 627.5



Поставил на контакт картинку, мелодию и день рождения - ничего не перезагружается.
Потом на другой контакт (тоже с днем рождения и картинкой) поставил мелодию с флешки - не перезагружается.
Отсюда делаем выводы...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Sereg_K
сообщение 17.10.2006, 11:07


Мотоснайпер
******

Группа: Почётные мотофаны
Сообщений: 753
Регистрация: 1.12.2005
Из: Жемчужина у моря
Пользователь №: 60 316
Модель телефона: ROKR E8
Прошивка: Z-Mod E8

Рейтинг: 587



Хочу спросить как сейчас обстоят дела с программой?
Остался ли глюк с перезагрузкой и прочие?
И еще одно. Когда в ежедневник добавляются события, то будут ли они повторяться ежегодно?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoviper
сообщение 6.11.2006, 13:22


Новичок
*

Группа: Пользователи
Сообщений: 19
Регистрация: 9.9.2006
Пользователь №: 98 381

Рейтинг: 5.5



Глюк с перезагрузкой автор исправить не в силах, это ошибка в прошивке. Для L7 в версии R4513_G_08.B7.ACR_RB ошибка устранена. Для других моделей хз, отзывов нету кроме E398 49R, на котором ошибка подтверждена, так что единственное лечение - обновление прошивки.

Да, события повторяются ежегодно, так что можно один раз убрать мелодии с контактов, запустить апплет - он сгенерит напоминания, после чего апплет можно снести и вернуть мелодии :-)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
A911death
сообщение 13.5.2007, 5:00


Интересующийся
**

Группа: Пользователи
Сообщений: 92
Регистрация: 25.12.2005
Пользователь №: 63 317
Модель телефона: HTC Incredible S
Прошивка: оф. Android 2.3.5

Рейтинг: 28



Народ, у кого есть мидлет, перезалейте, пожалуйста! Из первого поста не качается sad.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dosent
сообщение 3.10.2007, 12:20


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 3.10.2007
Пользователь №: 149 697
Модель телефона: motorola v3i

Рейтинг: 0



у меня дает ошибку

Can’t open contacts
Javax.Microedition.Pim.
Contact list. Read was denied

не подскажешь как обойти
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 5.10.2007, 6:41


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



dosent, почти так же как и ФС открывать
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
dosent
сообщение 9.10.2007, 11:10


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 3.10.2007
Пользователь №: 149 697
Модель телефона: motorola v3i

Рейтинг: 0



grafmoto, а по конкретнее можно? Ставил MotoMidMan, права доступа довал
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Birthday - Напоминание О Днях Рождения, моя первая программа J2ME · Разработка Java-приложений · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28.7.2025, 19:18

Форум живёт: