UniFM/FAQ

Материал из Project D8
Перейти к навигации Перейти к поиску

Установка программы на телефоны Nokia

  • При первом запуске рекомендуется выбрать Legacy version для автоматической настройки на минимальное потребление ресурсов.
  • Элементы графического оформления в дальнейшем можно восстановить, отключив в настройках режим «Минимум визуальных эффектов» и очистив RMS хранилища imgcache, uiicons и mdlicons. Стоит их восстанавливать или нет — зависит от производительности телефона и определяется экспериментально.
  • Если при работе с архивами / текстовым редактором / еще чем-либо возникают ошибки вроде «java.io.IOException: failed to write to file» или «java.io.IOException: OutputStream is already open», следует в настройках отключить дуплексный доступ к файлам.

Для чего нужно меню при запуске программы, и чем отличаются Full version и Legacy version?

Это меню позволяет выбрать, какой именно мидлет из набора (т. н. MIDlet Suite) запустить. Все мидлеты, входящие в набор, описываются в файле MANIFEST.MF внутри JAR файла строчками вида MIDlet-1: …, MIDlet-2: …, и т. д. При необходимости эти строчки можно удалить, оставив только первую, тогда при запуске программы не будет появляться меню, и сразу будет запускаться полная версия. Но так делать все-таки не рекомендуется (ниже описано почему).

В состав UniFM входит 4 мидлета:

Full version

Полная версия программы. При запуске пытается предоставить остальной программе доступ к акселерометру и автоматически определить тип API для доступа к файловой системе (стандартный JSR-75, вариация от Siemens и две вариации от Motorola).

Legacy version

Версия для аппаратно слабых или программно очень хитрых телефонов. Акселерометр, равно как и все вариации JSR-75, кроме стандартной, даже не упоминаются в стартовом классе мидлета. Эту версию пришлось добавить в надежде на то, что она поможет запустить программу на некоторых телефонах, на которых полная версия не запускается (и это несмотря на то, что во всех местах, где идет обращение к потенциально отсутствующим API, стоит перехват ошибок).


Если эту версию выбрать для первого запуска программы, основные параметры настраиваются на максимальное быстродействие и экономию ресурсов. Автоматически отключаются визуальные эффекты, кеширование кодовых страниц, обработка архивов в ОЗУ, прокрутка длинных имен, улучшенные и прозрачные градиенты в интерфейсе, включается выгрузка модулей при их закрытии и сборщик мусора в мониторе памяти, не будет загружена фоновая картинка заставки и значки сообщений, при масштабировании значков интерфейса не будет использоваться интерполяция.


Стартовый класс для этой версии — Browser.class, это можно использовать для подмены подписанной Opera Mini на UniFM и устранения запросов на чтение / запись файловой системы.

Reset RMS

Вспомогательный мидлет для сброса настроек основной программы. Позволяет как полностью сбросить настройки всей программы, так и некоторых ее частей по отдельности. Ниже перечислены хранилища настроек и их описания:

  • options — большая часть настроек программы, включая все параметры, доступные через форму настроек, текущую конфигурацию клавиш управления и текущую цветовую схему. Собственно, из-за одной только возможности сброса этих настроек, в частности, настроек клавиатуры, этот мидлет уже удалять не стоит. Например, если зайти в настройки клавиатуры, удалить (случайно или намеренно) левую софт-клавишу, и выйти к списку файлов, попасть в меню программы уже не получится. Если же очистить хранилище настроек, все предустановленные клавиши вернуться на свои исходные места.
  • favorites — содержимое папки Избранное.
  • bookmarks — сохраненные позиции в просмотренных (текстовых) файлах.
  • panels — сохраненные пути для всех панелей.
  • imgcache — масштабированные под размер экрана картинки интерфейса, кроме значков. Очистка этого хранилища приведет к тому, что при следующем запуске программы означенные картинки будут взяты из JAR’а и снова масштабированы и сохранены.
  • mdlicons — аналогично imgcache, содержит масштабированные версии значков, используемых модулями.
  • mdldata — собственные настройки модулей.
  • filetypes — ассоциации типов файлов и модулей, используемых для открытия файлов таких типов.
  • uiicons — аналогично imgcache, содержит масштабированные версии значков, используемых самой программой.
  • templates — шаблоны. При очистке этого хранилища шаблоны будут восстановлены из папки temp в архиве программы.
  • fontpaths — пути к внешним графическим шрифтам.
  • mimetypes — ассоциации расширений файлов и MIME типов. При очистке этого хранилища список будет восстановлен из файла config/mime.ini в архиве программы.

Test canvas

Тестовый мидлет, отображает на экране значение функции System.currentTimeMillis(), текущую частоту кадров и коды нажатых клавиш.

Как использовать меню «Модули» для задания ассоциаций файлов?

В UniFM начиная с версии 1.2 меню «Модули» изменено, теперь там следующие команды:

  • Открыть — открывает один файл неким модулем, не внося изменений в ассоциации файлов с модулями
  • Назначить — открывает выбранный файл неким модулем и при этом ассоциирует все файлы такого типа с выбранным модулем
  • Сбросить — отменяет ассоциацию файлов такого типа (файл становится «неизвестным»)
  • Отмена — комментарии излишни…

Кроме того, теперь команда Открыть не изменяет ассоциации при открытии архивов, как это происходило раньше (пока неизвестно, правда, к лучшему это или к худшему).

Как читать книги в формате FB2? Как просматривать документы в формате HTML / XML?

Можно читать как есть, то есть с тегами разметки. А можно эти теги убрать.

  1. Открываем файл в текстовом редакторе
  2. Переходим в начало файла
  3. Включаем режим выделения (кн. C на телефонах Sony Ericsson, зеленая трубка на остальных)
  4. Переходим в конец файла, таким образом окажется выделен весь текст
  5. Редактируем выделенный участок (то есть весь текст)
  6. В редакторе выбираем «Опции», затем «Регулярные выражения»
  7. В поле «Найти» пишем <[^>]*>, поле «Заменить на» оставляем пустым
  8. Выполняем замену — исчезнет вся разметка, останется чистый текст
  9. То, что получилось, можно сохранить под новым именем, и дальше использовать для чтения

Как устанавливать внешние графические шрифты?

  1. Для начала нужно получить собственно файл шрифта — создать самостоятельно, найти готовый в Интернете и т. д. — в 99 случаях из 100 это будет ZIP архив.
  2. В UniFM устанавливаем курсор на архив со шрифтом, нажимаем «Опции» — «Файл» — «Модули», выбираем «Установщик шрифтов» и нажимаем «Открыть».
  3. В установщике шрифтов нужно выбрать, вместо какого стандартного шрифта телефона (которые достаются через Font.getFont()) будет использоваться внешний графический:
    • В списке файлов для имен обычных файлов используется малый системный шрифт, для скрытых файлов добавляется стиль курсив, для файлов только для чтения — жирный. Для заголовка и софт-кнопок используется средний системный шрифт.
    • В списках контейнеров, панелей и т. д. для элементов, софт-кнопок и меню используется малый системный шрифт, для основного заголовка — средний системный жирный, для подзаголовка — средний системный.
    • В сообщениях используется средний системный шрифт.
    • В меню используется малый системный шрифт.
    • В текстовом редакторе можно выбрать любой из 72 доступных шрифтов.
  4. Нажимаем «OK». Появится сообщение о необходимости перезапуска программы для вступления изменений в силу. Можно нажать «Да», тогда программа перезапустится, или можно нажать «Нет» и продолжить установку шрифтов.

При загрузке шрифт создает в памяти структуру, позволяющую отобразить на экране любой из 65536 символов юникода, независимо от количества символов, реально содержащихся в архиве. В результате обеспечивается универсальность и достаточно высокая скорость работы, но загружаться шрифты могут медленно.