четверг, 16 сентября 2010 г.

Модификации программ для Nook. Часть 3

Оригинальный инструмент The Daily от B&N не очень часто используется русскоязычными пользователями, по причине полной бесполензности фидов, которые в нем отображаются. Суть этого проекта - модификация The Daily для чтения любых RSS фидов.
Преймущество такой модификации перед альтернативными читалками (Trook) и web-based аггрегаторами в доступе к нужным фидам буквально в два клика. Программа позволяет указывать любые фиды напрямую в файле конфигурации, без использования преобразующих скриптов как в предыдущих версиях.


Настройка

Для списка фидов используется локальный файл "my documents/feeds.xml". Формат файла совпадает с используемым B&N для фидов:
<response>
  <feeds>
    <feed>
      <name>The-eBook forum</name>
      <url>http://www.the-ebook.org/forum/rss.php?f=44</url>
    </feed>
    <feed>
      <name>NookDevs Twitter Feed</name>       <url>http://twitter.com/statuses/user_timeline/94948125.rss</url>
    </feed>
  </feeds>
</response>

Проблемы и недоработки

  • поддержка ссылок и HTML форматирования очень условна и исправить это малореально

  • все фиды грузятся полностью при запуске программы, потому это занимает некоторое время и трафик

  • фиды вроде bash.org.ru/rss грузятся и форматируются неприлично долго

  • если в момент запуска программы WiFi был выключен, есть вероятность, что фиды так и не загрузятся до ее перезапуска



Ссылки для скачивания:
http://runserver.net/nook/TheDaily.apk
пример конфига feeds.xml:
http://runserver.net/nook/feeds.xml
исходный код на smali:
http://runserver.net/nook/Daily.smali.7z

Установка

Для установки надо записать APK файл в папку /system/app, поверх существующего The Daily:
adb push TheDaily.apk /system/app

Также необходимо положить файл feeds.xml в папку my documents на встроенной карте

Дальше..

среда, 15 сентября 2010 г.

Модификации программ для Nook. Часть 2

Не смотря на свои явные достоинства, браузер от NookDevs не распологает к ежедневному пользованию, а браузер от B&N довольно хорош, но не качает файлы. Я не Android-разработчик, потому с нуля писать браузер просто не взялся бы, как и портировать что-то существующее, вроде Opera Mini for Android. На счастье, декомпилированый код браузера B&N показал наличие некоторых огрызков Download Manager, которые в совокупности с здравым смыслом и неким опытом программирования позволили добавить к нему возможность скачивать файлы.

Возможности

По клику по ссылке с файлом браузер открывает окно Downloads и качает файлы в папку "my downloads" (ее надо создать вручную) на внутренней карте. Это же окно доступно через меню GoTo.

Хочу предупредить сразу: возможности встроить выбор папки, авто-открытие и пр. практически нет - исходников приложения нам никто не даст, а в декомпилированном коде сложность разработки сравнима с кодингом на ассемблере.

Ссылка для скачивания
http://runserver.net/nook/Browser.apk

Исходный код на smali:
http://runserver.net/nook/Browser.smali.7z

Установка

Внимание!
При первой установке необходимо очистить БД браузера, иначе попытка скачивания файлов приведет к крашу. При удалении исчезнет история, букмарки и куки.
Команда для удаления:
adb shell rm /data/data/com.bravo.app.browser/databases/browser


Для установки достаточно записать APK файл в папку /system/app, поверх существующего браузера:
adb push Browser.apk /system/app

Дальше..

вторник, 14 сентября 2010 г.

Модификации программ для Nook. Часть 1

Став обладателем ридера B&N Nook, столкнулся с тем, что программы под него довольно неплохи, но изредка могли бы стать еще лучше с парой минимальных изменений. Сами разработчики часто об этом слышат (топик с пожеланиями на официальном форуме перевалил за 800 постов), но последние 3 месяца не было даже намека на новую прошивку и ожидаемые фиксы.
Самая первая модификация затрагивает приложение Home - домашний экран устройства. К нему нельзя добавлять что-то новое, но мне позарез нужна была возможность запускать менеджер приложений, потому после декомпиляции и рекомпиляции вместо шахмат запускается Nook Application Manager. Из менеджера можно запускать любую другую установленную программу (и те же самые оригинальные шахматы). Также менеджер умеет удалять установленые приложения, что тоже бывает полезно. что в результате и было сделано.


Конечно же, упомянутый менеджер должен быть установлен.Модификация подходит только для рутнутых устройств. Был написаный собственный Application Manager, а затем встроен в Home.apk. Папка Games полностью заменена на новую папку Apps, которая отображает все программы на устройстве. Если иконка программы не подходящего вида и размера, она немного модифицируется для соответствия общему стилю. Все изменения сделаны с помощью декомпилятора и компилятора smali.
Долгое нажатие на иконку позволяет удалить приложение.

Ссылка для скачивания:
http://runserver.net/nook/Home.apk

Код для установки:
adb push Home.apk /system/app/


P.S. Полезность данного хака для многих может быть спорна, но лично я игры на букридере запускаю относительно редко, а вот сторонние программы иногда таки нужны, хоть и не настолько часто, чтобы из-за них ставить полностью другой лаунчер от Nookdevs или Mynook.ru.

Update: статья переделана в связи с написанием новой версии домашнего экрана.

Дальше..