Nickolay.info. Программы. Java2ME

Здесь выложены мои опыты в программировании на платформе Java 2 Micro Edition, позволяющей писать приложения для мобильных телефонов. Все приложения с исходными текстами, компилировались в J2ME Wireless Toolkit (WTK) версий 2.0-2.2 (исходники сохранены как проекты данной среды), возможно также в Sun ONE Studio 4 update 1, Mobile Edition (обе эти платформы можно скачать и установить бесплатно), проверено на телефонах Siemens C65, CX65, S75, но, так как никакие классы Siemens не использовались, должно работать на всех телефонах, поддерживающих Java. Везде, где это возможно, использованы Microedition Configuration CLDC-1.0 и Microedition Profiles MIDP-1.0, то есть, все реализовано на "базовой" Java2ME, интересной для программиста своими ограниченными возможностями, например, в ней еще нет поддержки вещественных чисел (примечание - в CLDC-1.1/MIDP-2.0 вещественные числа уже есть).

Скачать последние версии мидлетов на WAP Вы можете со странички http://nickolay.info/index.wml (index.wml указывать обязательно!)
Обсуждение мидлетов здесь. - устарело, форум и домен закрыты :(
Ответ на вопрос "Что скачать для работы с Java2ME и как начать на нём программировать?" - здесь и в FAQ.
См. также: статьи по Java2ME в технических заметках.

Уникальный мидлет Рулетка на продажу! Хочешь изучить HTML? Рекомендуемая книга!

Первый проект - аналоговые часы-заставка на Java2ME
Скриншот 1 Интересен тем, как провести стрелки часов, если в языке нет вещественных чисел, соответственно, нет синуса и косинуса и нельзя напрямую посчитать полярные координаты по декартовым. Пришлось создать таблицу целочисленных sin и cos :-) Также иллюстрируется работа с канвой телефона, клавишами и таймером, позволяющим выполнять счет по таймауту. Да, чуть не забыл - выйти из заставки можно нажатием #, инвертировать часы - нажатием *
скачать мидлет anClock в архиве Zip (7 Кб)
скачать исходники мидлета anClock в архиве Zip (5 Кб)
Текущая версия и дата обновления: 1.0.1, 28.06.2005 (Внимание! Если Вы скачали программу не последней версии, могут быть баги)


Второй проект - расписание занятий на Java2ME
Удобное расписание в Вашем мобильнике! Дает возможность редактировать и сохранять расписание прямо в телефоне, то есть, не требуется перекомпиляция. Различает нечетную (первую) и четную (вторую) неделю в занятиях, можно ввести время начала и завершения до 6 пар, день и месяц отсчета семестра. "Быстрые" пункты меню позволяют посмотреть расписание на сегодня и завтра, а также на любой день первой или второй недели. Удалить ненужную пару можно с экрана "Подробности".
скачать мидлет Shedule в архиве Zip (33 Кб)
скачать исходники мидлета Shedule в архиве Zip (36 Кб)
Текущая версия и дата обновления: 1.1, 18.10.2009 (Последние изменения: заставка, картинки ко всем командам, поле для коррекции времени)
Компактная версия 1.0.7 (до 8 пар, без лишней графики) вместе с исходниками доступна по этой ссылке: shedule_107.zip (19 Кб)
Скриншот 1 Скриншот 2
Развитие проекта - "Расписание-2" (номер 25)


Третий проект - калькулятор дат
Приложение для всех, кто любит считать дни до приказа, отпуска, начала сессии и проч.
Пункты главного меню:
Калькулятор дат - считает количество дней между 2 любыми датами. Диапазон дат не ограничен календарем телефона (например, у меня в Siemens C65 этот диапазон - 1900-2033 годы), поэтому вводятся отдельно день, месяц и год. Где есть смысл, там использован компонент DateField.
Номер дня/недели - показывает номер дня и недели в году для введенной даты.
Мои дни - считает Ваш возраст в днях и число дней до ДР.
Мои события - поддерживает список любых событий.
Текущее время - идущие цифровые часы.
Вечный календарь - календарь на выбранные месяц и год, выбор также не ограничен календарем телефона. С помощью этого пункта, например, я узнал, что день Победы 9.05.1945 был в среду :-)
Все введенные Вами даты запоминаются программой. Число поддерживаемых событий ограничено только памятью телефона.
Этот проект я писал уже по всем рекомендациям ООП, то есть, с отдельными классами на каждую форму. Для работы с датой и временем может быть полезен класс globalCalendar. Для определения дня недели по дате в нем реализован адаптированный к целым числам алгоритм Зеллера. Для работы с записями, состоящими из строк, удобен класс recordStores.
Скриншот 1 Скриншот 2 Скриншот 3 Скриншот 4

скачать мидлет dateCalc в архиве Zip (23 Кб)
скачать исходники мидлета dateCalc в архиве Zip (16 Кб)
Текущая версия и дата обновления: 1.0.3, 21.11.05 (Последние изменения: поправлена функция "дата+дни")

Четвертый проект - Мой Журнал
Посидел тут вечерок и родил вот что (мне, например, такого приложения не хватало):
Приложение "Мой журнал" позволяет численно оценивать множество объектов по множеству категорий. Например, объектами могут быть Ваши учащиеся, категориями - сдаваемые ими предметы или темы, а оценками - полученные баллы, или объектами могут быть Ваши девушки, категориями - их антропометрические показатели, оценками - значения этих показателей в сантиметрах, и так до бесконечности :-)
Имена - поддерживает редактируемый список имен объектов. Пункт меню Выбрать позволяет посмотреть все записи по данному имени, пункт Отчет дополнительно формирует статистический отчет по имени.
Категории - поддерживает редактируемый список категорий, к которым относятся оценки объектов. Также действуют пункты Выбрать и Отчет по категории.
Оценки - позволяет выбрать Имя (можно Все), затем Категорию (также можно Все), затем показывает (при отсутствии - предлагает ввести) оценку. Однажды введенные оценки можно изменять или удалять.
Настройки - в этом разделе можно назвать по-другому Имена, Категории и Оценки, если мои названия Вам не нравятся.
Если идея приложения Вам понравилась - напишите, как Вы видите его развитие.
Скриншот 1 Скриншот 2 Скриншот 3 Скриншот 4

скачать мидлет Journal в архиве Zip (14 Кб)
скачать исходники мидлета Journal в архиве Zip (10 Кб)
Текущая версия и дата обновления: 1.0.2, 14.07.2005 (Последние изменения: исправлена пара мелких багов, непринципиально)

Пятый проект - Lighter
Написан просто для развлечения, с другой стороны, иллюстрирует использование звука и вибрации, то есть, возможностей, появившихся в профиле MIDP 2.0 - для работы приложения Ваш телефон должен поддерживать этот профиль!
Lighter - приложение-фонарик, работает в полноэкранном режиме. Пункты главного меню:
Цвет RGB - закрашивает экран фоном, выбранным по интенсивностям красной, зеленой и синей цветовых компонент.
Градиент: от и Градиент:до - позволяют создать плавный переход цвета (градиент).
Импульсы - заставляет экран пульсировать. Уменьшить скорость пульсации можно клавишей *, увеличить - #, вернуть по умолчанию - 0.
Морзянка - умеет передавать введенную строку азбукой Морзе, задействуя, кроме цвета, вибрацию и звуковую ноту (см. Настройки).
В Настройках также можно указать длину точки и тире в миллисекундах, выбрать ноту, на которой будет звучать морзянка.
скачать мидлет Lighter в архиве Zip (13 Кб)
скачать исходники мидлета Lighter в архиве Zip (11 Кб)
Текущая версия и дата обновления: 1.0.2, 07.08.2006 (Последние изменения: исправлен мелкий баг, из-за которого мидлет не работал на S75 и ряде не-симензовских моделей)

Шестой проект - pdd, Правила дорожного движения
Приложение для тех, кто уже купил водительские права :-) В отличие от платного приложения за 2$ для Nokia, которое я где-то видел, это приложение содержит не только текст правил, но и все дорожные знаки, а также умеет искать по тексту правил и названиям и/или форме знаков. Приложение нельзя назвать маленьким (займет в телефоне порядка 230 Кб), оно может не отлаживаться в эмуляторе DefaultColorPhone (похоже, там не может быть больше 128 Кб статических данных в одном мидлете), но скорость работы на моем C65 вполне приемлема.
Описание:
После старта запускается в одном из 2 режимов - Правила или Знаки (в том, с которым Вы работали в последнем сеансе). Переключение режимов - соответствующие команды в Опциях.
Просмотр списка правил или знаков: выберите джойстиком нужную статью и нажмите его (или команда Читать).
Перейти: введите номер нужного правила или знака, например, в виде 2.1 Это работает намного быстрее, чем полнотекстовый поиск.
Поиск по правилам: задайте ключевые слова, которые могут содержаться в тексте правил. Слова можно вводить не полностью. Режим "И" - ищутся правила, в тексте которых есть все слова. Режим "ИЛИ" - в тексте правил должно быть хотя бы одно из искомых слов.
Поиск по знакам: с помощью переключаталей дополнительно выберите формы знаков, по которым ведется поиск (круг, прямоугольник и т.п.) Положение переключателей запоминается, можете включить их все, но тогда, естественно, время поиска заметно увеличится. Увеличится оно и при задании нескольких слов поиска. Если не введен текст для поиска, лучше не включать одновременно больше 2-3 форм знаков - Вашему устройству может не хватить памяти.
Скомпилировано под профилем MIDP 2.0 с единственной целью - использовать интерфейс ItemCommandListener, позволяющий отслеживать события от элементов формы.
скачать мидлет pdd в архиве Zip (247 Кб)
скачать исходники мидлета pdd в архиве Zip (268 Кб)
Текущая версия и дата обновления: 2.0.2, 24.11.2010; учтены изменения, вступившие в силу с 20.11.2010
Архив версии 1.0.1 доступен здесь: pdd_101.zip (409 Кб)

Седьмой проект - timeReminder, часы с функцией напоминания
Часы-заставка в двух цифровых стилях, умеющие издавать сигнал или проигрывать мелодию в указанные часы суток через указанный интервал времени (от 1 до 999 минут).
В Настройках можно выбрать вид звука (2 сигнала и мелодия), включить куранты каждый час, установить громкость сигнала и др.
Кто-то просил такое приложение - получайте :-)
скачать мидлет timeReminder в архиве Zip (16 Кб)
скачать исходники мидлета timeReminder в архиве Zip (13 Кб)
Текущая версия и дата обновления: 1.2, 14.11.2005. Профиль: CLDC1.0/MIDP2.0 (Последние изменения: теперь можно ставить интервал до 999 минут, с подчиненных форм происходит автоматический выход через 30 секунд, добавлен регулятор громкости в Настройки, ряд мелких улучшений)

Восьмой проект - cure, прием лекарств
Навеяно пребыванием в санатории "Химик" г. Яровое, за что благодарю всех его сотрудников :-)
Мидлет поможет выбрать время приема лекарств. Используйте команду Поиск для быстрой работы. В списки НЕ включено большинство препаратов, используемых только в лечебных учреждениях и назначаемых по узкоспециальным показаниям (ислючены наркотизирующие, болеутоляющие, противотуберкулезные, противосифилитические, противоопухолевые и т.п. препараты). Лекарственные средства, не указанные здесь, врач назначает по своему усмотрению.
Буду признателен (и укажу Вас здесь), если Вы поможете мне пополнить список лекарств ДОСТОВЕРНОЙ информацией.
скачать мидлет cure в архиве Zip (18 Кб)
скачать исходники мидлета cure в архиве Zip (10 Кб)
Текущая версия и дата обновления: 1.1, 07.11.2005. Профиль: CLDC1.0/MIDP2.0. Последние изменения: теперь более 740 лекарств

Девятый проект - firstAid, первая помощь
Задумано там же :-) Краткий справочник по оказанию первой помощи, 19 основных критических ситуаций.
скачать мидлет firstAid в архиве Zip (8 Кб)
скачать исходники мидлета firstAid в архиве Zip (6 Кб)
Текущая версия и дата обновления: 1.0, 19.08.2005. Профиль: CLDC1.0/MIDP1.0

Десятый проект - Corners, игра Русские уголки
Моя старая Javascript-игра, портированная на Java2ME
Правила: Игроки ходят по очереди своими шашками. Ваши - белые.
Цель игры - первым провести свои шашки на место положения шашек соперника, то есть, поля от e6 до h8 для Вас, и на поля от a1 до d3 для телефона.
Можно делать ходы двух видов: сдвинуть свою шашку на одну клетку в любом направлении или прыгать через шашки на любое возможное количество клеток. Каждый прыжок выполняется через одну свою или чужую шашку, все поля "приземления" должны быть свободны, делать ходы по кругу (то есть, завершать ход на поле, где он начался), нельзя.
Для того, чтобы сделать ход, просто щелкните джойстиком по шашке, которой Вы ходите (она при этом пожелтеет), а затем по полю, куда Вы собираетесь ходить. Телефон сообщает о своих ходах, а также о возникающих проблемах (например, Вы пытаетесь выполнить недопустимый ход), выводя сообщения под доской. Если Вы щелкнули по шашке, а затем передумали ей ходить, щелкните по ней повторно для отмены хода.
К сожалению, из-за ограничений по быстродействию проблематично организовать нормальный рекурсивный перебор, так что "задумываться" телефон начинает лишь в самом конце партии. По той же причине я не стал добавлять анимацию ходов, хотя это не проблема.
скачать мидлет Corners в архиве Zip (18 Кб)
скачать исходники мидлета Corners в архиве Zip (17 Кб)
Текущая версия и дата обновления: 1.0.1, 22.08.2005. Профиль: CLDC1.0/MIDP2.0 (Последние изменения: улучшена графика, небольшие алгоритмические улучшения - в которых я еще не уверен :-)

Одиннадцатый проект - Countries, Страны мира
Все страны мира (а их более 240) в одном мидлете!
По большинству стран приведены следующие данные: название, континент расположения, площадь в тыс.кв.км., население в тыс.чел., официальное название, форма правления, административно-территориальные единицы и их число, столица, основные языки населения, основные религии населения, основные статьи экспорта, флаг государства, валюта и ее международное сокращение, разменная монета и количество монет в валютной единице, международный телефонный код, территориальный домен страны (он же код ISO)
По некоторым странам есть еще примечания, увидеть которые можно из меню Опций.
Для ускорения работы с приложением из любого контекста доступна команда Поиска. В процессе поиска примерный процент просмотренных данных отображается в строке заголовка мидлета.
Технические подробности: мидлет основан на XML-парсере, авторство которого принадлежит К. Книжнику (knizhnik@garret.ru). Я сделал данные для мидлета и позволил себе внести в исходники парсера некоторые изменения:
поиск по-русски также независим от регистра;
в ходе поиска отображается процент просмотренной информации, а по завершении - число найденных записей;
имена атрибутов Name и Image не "вшиты" в мидлет, а настраиваются через файл Locale.Ru;
иконки, нужные для любого мидлета на основе парсера, лежат в res/icons, и т.п.
По тем же причинам, что мидлет PDD, проект может не выполняться в эмуляторе DefaultColorPhone, но в среднем и бизнес-телефоне должен :-)
Скачать базу данных мидлета в Excel можно здесь (countries_base.zip, 42 Кб, для версии 1.0)
Недостающую инфу Вы можете выслать мне, если она у Вас есть :-) Следите за версиями.
Скриншот 1 Скриншот 2 Скриншот 3

скачать мидлет Countries в архиве Zip (168 Кб)
скачать исходники мидлета Countries в архиве Zip (204 Кб)
Текущая версия и дата обновления: 1.0.3, 18.06.2010. Профиль: CLDC1.0/MIDP1.0 Последние изменения: немного уточнена и пополнена информация, благодарю Михаила Воробьёва (mish100694{AT}mail.ru)

Двенадцатый проект - TVMania, игра
Вы - телеман и перед Вами телевизоры. Каждый телевизор может работать с красными, синими и зелеными программами.
Избавьтесь от пустых экранов и "плохих" (красных) программ, и заполните все телевизоры "хорошими" (синими и зелеными), чтобы выиграть.
Выберите переключаемый телевизор джойстиком или клавишами 1..9,*,0,#. Переключите телевизор на нужную программу (или между состояниями "включено" и "выключено") джойстиком или клавишами.
Табло внизу справа показывает, какая программа сейчас включена на выбранном телевизоре. Также это видно по фону рисунка в телевизоре.
Только кажется, что нет строгой закономерности в поведении телевизоров - она есть! Проверьте себя, как быстро Вы сумеете ее уловить.
Эта игра рассчитана на дисплей размером 132*176 и более!
Скриншот 1 Скриншот 2 Скриншот 3

скачать мидлет TVMania в архиве Zip (33 Кб)
скачать исходники мидлета TVMania в архиве Zip (37 Кб)
Текущая версия и дата обновления: 1.0, 22.09.2005. Профиль: CLDC1.0/MIDP2.0

Тринадцатый проект - NotationConverter, конвертер систем счисления и ASCII<->Hex конвертер
Предельно простая программка, но для 13-го проекта сойдет, тем более, кто-то просил :-)
Умеет конвертировать числа между системами счисления с основаниями от 2 до 36 включительно. Также преобразует ASCII-код в кодировке Windows-1251 в 16-ричное представление и обратно.
Скриншот 1 скачать мидлет NotationConverter в архиве Zip (6 Кб)
скачать исходники мидлета NotationConverter в архиве Zip (5 Кб)
Текущая версия и дата обновления: 2.0.1, 07.10.2005. Профиль: CLDC1.0/MIDP1.0 (Последние изменения: добавлена и улучшена функция ASCII<->HEX)

Четырнадцатый проект - CriminalCode, уголовный кодекс РФ
Приложение для тех, кто хочет жить по понятиям :-) Содержит полный текст Кодекса с внесенными за последние годы изменениями. Статьи в списке упорядочены по номеру. Команда "Статья..." позволяет не листать весь список, а просто ввести нужный номер. Команда "Поиск" ищет статьи, содержащие указанное ключевое слово.
Для краткости исключены примечания о том, какие изменения какими федеральными законами внесены. Скачать xml-файл, где эти примечания есть, можно здесь (criminalcode_base.zip, 64 Кб).
Мидлет займет на диске порядка 80 Кб, в работе требует порядка 400 Кб оперативной памяти - такой уж у нас кодекс :-)
Технические подробности: мидлет основан на модифицированном XML-парсере К. Книжника (см. выше проект 11).
скачать мидлет CriminalCode в архиве Zip (78 Кб)
скачать исходники мидлета CriminalCode в архиве Zip (63 Кб)
Текущая версия и дата обновления: 1.0, 25.10.2005. Профиль: CLDC1.0/MIDP1.0
Проект получился довольно медленным и вряд ли будет поддерживаться в дальнейшем :-(

Пятнадцатый проект - NamesDictionary, словарь имен
Собственно, я хотел лишь посмотреть в учебных целях, как работает HashTable и сделать быстрый и маленький "движок" для чтения в нее текстовых файлов, но раз из этого получилось приложение, пусть будет :-)
Содержит расшифровку значений мужских и женских имен. Есть поиск по именам и (опция) по описаниям. Поиск многоуровневый, т.е., можно повторно искать в найденном.
Технические подробности: движок всего около 7 Кб, читает текстовый файл в хеш (до 1-го пробела - ключ, дальше до конца строки - величина). Настройки в Settings.java
скачать мидлет NamesDictionary в архиве Zip (18 Кб)
скачать исходники мидлета NamesDictionary в архиве Zip (17 Кб)
Текущая версия и дата обновления: 1.1, 08.09.2006. Профиль: CLDC1.0/MIDP1.0. Последние изменения: теперь 850 записей + варианты.

Шестнадцатый проект - EverydayNotes, HTTP-сервис на каждый день
А здесь мне хотелось сделать несложный HTTP-сервис, вот он и готов.
Описание: HTTP-сервис, использующий Интернет-сервер для получения ежедневных записей о праздниках, Православных святцах, приметах, именинниках.
Введите день и месяц и выберите 'Читать' для получения записи (должна быть подключена услуга CSD-Internet или GPRS-Internet, не путать с GPRS-WAP!).
Последняя прочитанная по сети запись автоматически сохраняется. Для ее повторного чтения выберите 'Последняя'. (Поэтому, если у Вас только CSD-Internet, который обычно тарифицируется по времени, лучше сразу же после чтения данных с сервера перезапустить мидлет, чтоб не разориться на CSD!)
Сервис создан для себя, поддерживается бесплатно и я НЕ гарантирую его работы в будущем (хотя и удалять с сервака ничего не буду :-)
Технические подробности: файлы на сервере лежат в кодировке Windows-1251, мидлет ее преобразует при чтении. Данных о работе на не-Siemens'ах нет, реализация протокола для Motorola не проверена. Если у Вас не Siemens 65 серии и Вы использовали это приложение, сообщайте, пожалуйста, видна ли кириллица в Вашем телефоне!
скачать мидлет EverydayNotes в архиве Zip (8 Кб)
скачать исходники мидлета EverydayNotes в архиве Zip (6 Кб)
скачать папку с данными для мидлета в архиве Zip, файлы .txt в кодировке Windows (198 Кб)
Текущая версия и дата обновления: 1.0, 08.11.2005. Профиль: CLDC1.0/MIDP1.0

Семнадцатый проект - Alcometr, алкогольный калькулятор
По просьбам друзей-алкоголиков - спутник настоящего алкоголика-профессионала :-) В отличие от простенького мидлета AlcoholCalculator от Waldner, который мне где-то попадался, учитывает в расчетах фактор времени и позволяет хранить данные. Так как расчеты связаны с вещественными числами, из экономии времени сделано под профиль CLDC1.1/MIDP2.0.
Список - редактируемый список Ваших доз алкоголя. Записи упорядочены по убыванию времени, хранятся не более 36 часов, список чистится автоматически. Для правильности расчета следует вносить дозы так, как они выпиваются (500 г. водки не сразу, а 5 раз по 100 г., по мере того, как Вы ее пьете).
Команда Расчет (выбрать джойстиком любой элемент списка) считает промилле в крови, моче (после 1 часа от последней дозы) и ставит диагноз о степени Вашего опьянения. Команда Добавить позволяет ввести новую дозу, для удобства в строке заголовка окна ввода показаны идущие часы. Если Вы спьяну ошиблись при вводе дозы, из списка доступна команда Удалить. При этом доза удаляется и из Статистики.
Настройки - при первом запуске команда активизируется автоматически. Хранит постоянные данные, а именно, Ваш пол и вес в килограммах.
Из настроек также доступны команды Перенос данных (позволяет ввести начальные данные для работы "Алкометра", например, полученные с другого устройства) и Защита паролем (позволяет защитить вход в программу паролем).
Если Ваш телефон неправильно показывает в списке выпитого время приема дозы (например, отображает часы по Гринвичу), здесь же можно указать коррекцию времени в часах от Гринвича.
Статистика - рассчитывает общее количество выпитого Вами алкоголя в пересчете на спирт, среднесуточное потребление спирта и поддерживает текущий рейтинг алкоголика :-) Не забывайте для правильного подсчета рейтинга своевременно информировать программу о том, что и когда Вы пили :-)
Помните, что все расчеты приблизительны, переносимость к алкоголю весьма широко варьируется у отдельных лиц, а самое лучшее - вообще не пить.
скачать мидлет Alcometr в архиве Zip (21 Кб)
скачать исходники мидлета Alcometr в архиве Zip (18 Кб)
Текущая версия и дата обновления: 1.0.5, 14.04.2011. Профиль: CLDC1.1/MIDP2.0.
v.1.0.5: добавлен показатель "Оценка времени до протрезвения" (на основе средней почасовой элиминации алкоголя); расчёт концентрации в моче оставлен только там, где уместен
v.1.0.4: в Настройки добавлена команда Защита паролем;
v.1.0.3: в связи с изменениями в ПДД изменены сообщения программы;
v.1.0.2: в Настройки добавлена команда Перенос данных для ввода ранее накопленной статистики по алкоголю (например, с другого телефона).

Восемнадцатый проект - Plasma, образец ScreenSaver'а на Java2ME
Проект чисто учебный, сделан по просьбе дать образец. Это заставка-ScreenSaver в стиле переливающейся плазмы, выход клавишей #. Использует двойную буферизацию графики, т.е., перерисовка не "дергается", в исходнике соответствующие комментарии.
Текущая версия и дата обновления: 1.0, 02.12.2005. Профиль: CLDC1.0/MIDP2.0 (можно убрать оператор setFullScreenMode и будет MIDP1.0).
скачать мидлет Plasma в архиве Zip (4 Кб)
скачать исходники мидлета Plasma в архиве Zip (4 Кб)

Девятнадцатый проект - ExtraTits, пример слайдшоу
Проект также учебный, комментарии в исходнике.
Поддержка JPEG, вообще говоря, в Java2ME не документирована, но, как правило, работает. Впрочем, можно и PNG, поменяв расширение в программе.
Текущая версия и дата обновления: 1.0, 02.12.2005. Профиль: CLDC1.0/MIDP1.0
скачать мидлет ExtraTits в архиве Zip (72 Кб)
скачать исходники мидлета ExtraTits в архиве Zip (73 Кб)

Двадцатый проект - MobileMath_X65, "мобильный MathCAD"
Небольшой "мобильный MathCAD", собранный и адаптированный мной. Ссылки на программистов, чей код я отчасти использовал, сохранены в пункте "О программе".
Считает выражения как калькулятор, решает квадратное уравнение, систему 2 линейных уравнений, берет производную в точке, ищет определенный интеграл функции, строит масштабируемые и листаемые графики функции 1 переменной в декартовых и полярных координатах.
Парсер используется примитивно, на основе исходников парсера можно сделать лучше.
Это приложение рассчитано на экран 132*176 пикселов, при других размерах оно растянуто или сжато не будет.
Текущая версия и дата обновления: 1.0.1, 22.12.2005. Профиль: CLDC1.1/MIDP2.0
скачать мидлет MobileMath_X65 в архиве Zip (19 Кб)
скачать исходники мидлета MobileMath_X65 в архиве Zip (18 Кб)

21 проект - RandoMeasure
Тест на валидность генератора случайных чисел. Проект пока черновой, исходников и подробностей нет.
Если интересно - проверьте на своем телефоне и пришлите мне модель телефона + первую полученную мидлетом цифру :-)
Текущая версия и дата обновления: 1.0, 01.04.2006. Профиль: CLDC1.0/MIDP1.0
скачать мидлет RandoMeasure в архиве Zip (4 Кб)

22 проект - RussianHistory, база данных событий русской истории
Краткое описание:
Поиск лет - введите год, десятилетие (например, 195 будет искать даты 50-х гг. XX в.) или первые 2 цифры века (19 для всего XX в.). Выберите переключателем способ поиска и нажмите кнопку.
Поиск слова - поиск по одному ключевому слову (например, "апр" - все события, в которых явно встречается месяц апрель). В найденном можно искать повторно, чтобы детализировать поиск.
Добавить - этот пункт позволяет пополнить базу своими событиями. Допустимые форматы ввода дат приведены на экране ввода. Удалить добавленную запись можно с экрана "Мое событие" (после выбора такой записи из списка найденных). Добавленные события будут выводиться в списках последними и помечаются красными маркерами (события, бывшие в базе изначально - зелеными).
Предупреждение: приложение интенсивно использует оперативную память устройства, проверки на нехватку памяти в некоммерческой версии не предусмотрены.
Текущая версия и дата обновления: 1.0.3, 08.01.2008. Профиль: CLDC1.0/MIDP1.0 (Последние изменения: пополнения предустановленной базы событий)
скачать мидлет RussianHistory в архиве Zip (43 Кб)
скачать исходники мидлета RussianHistory в архиве Zip (42 Кб)

23 проект - ServerTime, утилита для получения времени с серверов
Краткое описание:
Утилита для отображения времени со списка серверов.
Требует подключенного GPRS-Internet или CSD-Internet!
Так как программа предназначена для всех телефонов с поддержкой Java, подводить часы мобильника она не может, а лишь покажет, насколько Ваши часы отличаются от часов выбранных Вами ресурсов :-)
"Старт!" - начинает процесс загрузки. После загрузки с каждого сервера, показывается время этого сервера и округленная разница в секундах между временем сервера и Вашим. Знаки [<<],[>>] означают большое (более минуты) расхождение, это может быть связано и с часовым поясом.
"Адреса" - редактируемый список URL-адресов. Это не обязательно "серверы времени", добавляйте с префиксом или без префикса http:// URL-адреса любых серверов, способных вернуть время. Также можно добавить сдвиг в часах (от -12 до 11 включительно) от времени сервера до Вашего времени.
"Настройки" - позволяют задать максимальное число попыток коннекта с каждым сервером. Также, при включенной опции "Коррекция времени" программа пытается учесть потери времени на коннект.
Разумеется, не стоит надеяться, что медленная платформа Java2ME даст Вам идеально точные результаты, особенно для большого числа серверов.
Профиль: CLDC1.0/MIDP1.0 Текущая версия и дата обновления: 1.2, 30.06.2006 (тестируется!). Последние изменения: добавлено поле для учета разницы в часовых поясах с сервером.
скачать мидлет ServerTime в архиве Zip (13 Кб)
скачать исходники мидлета ServerTime в архиве Zip (10 Кб)

24 проект - GetProperties, утилита для получения системных свойств
Утилита получает через метод System.getProperty (String key) значение любого введенного key и выводит его на экран.
Дополнительные команды доступны из опций списка и позволяют его редактировать.
Я включил в список по умолчанию только microedition.io.file.FileConnection.version (определение расширения JSR-75), но работают, например, microedition.configuration, microedition.profiles, microedition.platform, microedition.locale, microedition.encoding, и многое другое.
Исходники утилиты могут служить заготовкой для работы с редактируемыми списками вида "ключ-значение".
Англоязычный интерфейс.
Профиль: CLDC1.0/MIDP1.0 Текущая версия и дата обновления: 1.2, 23.08.2006. Последние изменения: добавлены команды Clear all, Copy, Sort).
скачать мидлет GetProperties в архиве Zip (6 Кб)
скачать исходники мидлета GetProperties в архиве Zip (6 Кб)

25 проект - Расписание-2
Основные черты новой программы:
Редактирование до 8 пар на каждый день, отображение текущей пары сегодня, поддержка редактируемых списков преподавателей и типов занятий, типам занятий можно назначать иконки, поддержка четной/нечетной недели опциональна, учебные и неучебные дни назначаются произвольно, к парам можно писать комментарии, есть настройки отображения.
скачать мидлет Shedule2 в архиве Zip (30 Кб)
скачать исходники мидлета Shedule2 в архиве Zip (26 Кб)
Текущая версия и дата обновления: 2.1.2, 07.11.2006. Последние изменения: исправлен баг с сортировкой пар выбранного дня.

26 проект - Словарь уголовного жаргона
Словарь содержит более 7000 "блатных" терминов и их расшифровок. Респект 2 Евгений (evgaver[AT]mail.ru) за идею и базу данных.
За основу взят переписанный в сторону экономии памяти движок от NamesDictionary. Так как список велик, целиком он не выводится, а так как термины могут встречаться и в словосочетаниях, все же необходим поиск по всей базе. Рекурсивный поиск для такого объема данных, конечно, уже был бы избыточен. Использование памяти контролируется, хотя и грубо. Стоило бы использовать отдельный поток для поиска, но лень :-)
скачать мидлет Fenya в архиве Zip (115 Кб)
скачать исходники мидлета Fenya в архиве Zip (115 Кб)
Текущая версия и дата обновления: 1.1, 27.04.2007. Последние изменения: поправлена работа с памятью (исключения OutOfMemory вместо криво работающего freeMemory())

27 проект - Справочник по транзисторам
Выбрав команду Поиск, введите название транзистора или его начало, например МПМ9 или КТ. Программа выведет список названий и набор схем соответствующих транзисторов. Поддерживаются серии БТР1, БТР2, ПТР.
Респекты: Евгений (evgaver{AT}mail.ru), Дмитрий Ершов (d_ershov{AT}ngs.ru)
Скачать: TransistorGuide.jad, TransistorGuide.jar, TransistorGuide.zip (44 Кб)
Текущая версия и дата обновления: 1.0, 24.07.2007

28 проект - регионы России
Все 83 региона России в одном мидлете!
В этой версии: федеральный округ и экономический район региона, площадь и население, административно-территориальное деление региона (число районов, городов, городских районов и округов, поселков городского типа), коды ОКАТО и автомобильные, расположение, история, география, геология и ресурсы, гидрография, климат, экосистема, характеристика экономики, часовой пояс, карта.
Данные мидлета можно просмотреть (скачать) в одном файле HTML: allrussia.html (~1.5 Мб!)
скачать мидлет AllRussia в архиве Zip (341 Кб)
скачать исходники мидлета AllRussia в архиве Zip (352 Кб)
Текущая версия и дата обновления: 1.0.2, 25.07.2008. Последние изменения: немного поправлена информация, объем уменьшен до приемлемого для большинства устройств, рисунки все-таки сделаны по стандарту в PNG

Рейтинг@Mail.ru

вверх гостевая; E-mail