add notify, files and utils modules documentation
This commit is contained in:
45
README_ru.md
45
README_ru.md
@@ -2,12 +2,13 @@
|
||||
|
||||
Начиная с версии 4.0, AIO Launcher поддерживает скрипты, а точнее специальные виджеты, написанные на скриптовом языке [Lua](https://en.wikipedia.org/wiki/Lua_(programming_language)). Такие виджеты следует размещать в каталоге `/sdcard/Android/data/ru.execbit.aiolauncher/files/`. Затем их можно добавить на экран используя раздел настроек "Скрипты" или с помощью бокового меню.
|
||||
|
||||
Возможности скриптов ограничены, но с их помощью можно практически безгранично расширять функциональность приложения (посмотрите примеры в этом репозитории).
|
||||
С помощью скриптов можно практически безгранично расширять функциональность приложения (смотрите примеры в этом репозитории).
|
||||
|
||||
# Изменения
|
||||
|
||||
* 4.0.0 - первая версия с поддержкой скриптов;
|
||||
* 4.1.0 - добавлены модули `weather` и `cloud`;
|
||||
* 4.1.3 - добавлены модули `notify`, `files` и `utils`.
|
||||
|
||||
# Функции (колбеки) жизненного цикла
|
||||
|
||||
@@ -79,7 +80,7 @@ ui:show_context_menu({
|
||||
|
||||
Здесь `share`, `copy` и `trash` - это названия иконок, которое можно узнать на сайте [Fontawesome](https://fontawesome.com/).
|
||||
|
||||
При нажатии на любой элемент меню будет вызван колбек `on_context_menu_click(item_idx)`, где `item\_idx` - это индекс элемента меню.
|
||||
При нажатии на любой элемент меню будет вызван колбек `on_context_menu_click(item_idx)`, где `item_idx` - это индекс элемента меню.
|
||||
|
||||
# Системные функции
|
||||
|
||||
@@ -196,6 +197,39 @@ ui:show_context_menu({
|
||||
|
||||
Все данные возвращаются в `on_cloud_result(meta, content)`. Первый аргумент - это метаданные, либо таблица метаданных (в случае с `list_dir()`), либо строка с сообщением об ошибке. Второй аргумент - содержимое файла (в случае `get_file()`).
|
||||
|
||||
# Уведомления
|
||||
|
||||
* `notify:get_current()` - запрашивает у лаунчера текущие уведомления;
|
||||
* `notify:open(key)` - открывает уведомление с указанным key;
|
||||
* `notify:close(key)` - смахивает уведомление с указанным key;
|
||||
|
||||
Функция `notify:get_current()` запрашивает все текущие уведомления. Лаунчер возвращает их поочередно в колбек `on_notify_posted(table)`, где table - это таблица, олицетворяющая уведомление. Тот же колбек будет вызван когда появится новое уведомление. При закрытии уведомления будет вызван колбек `on_notify_removed(table)`.
|
||||
|
||||
Формат таблицы-уведомления:
|
||||
|
||||
* `key` - уникальный ключ, однозначно идентифицирующий уведомление;
|
||||
* `time` - время публикации уведомления в секундах;
|
||||
* `package` - имя пакета приложения, отправившего уведомление;
|
||||
* `number` - цифра на бейдже уведомления, если есть;
|
||||
* `importance` - уровень важности уведомления: от 1 (низкий) до 4 (высокий), 3 - стандартный;
|
||||
* `category` - категория уведомления, например `email`;
|
||||
* `title` - заголовок уведомления;
|
||||
* `text` - текст уведомления;
|
||||
* `sub_text` - дополнительный текст уведомления;
|
||||
* `big_text` - текст развернутого уведомления;
|
||||
* `is_clearable` - true, если уведомление смахиваемое;
|
||||
* `group_id` - ID группы уведомлений.
|
||||
|
||||
Имейте ввиду, что стандартный виджет уведомлений AIO также делает вызов `get_current()` при каждом возврате на рабочий стол, а это значит, что при наличии виджета уведомлений все скрипты также будут получать информацию об уведомлениях в колбек `on_notify_posted()` при каждом возврате на рабочий стол.
|
||||
|
||||
# Файлы
|
||||
|
||||
* `files:read(file)` - возвращает содержимое файла или `nil` если файла не существует;
|
||||
* `files:write(file, string)` - записывает строку `string` в файл (создает файл если его не существует);
|
||||
* `files:delete(file)` - удаляет файл;
|
||||
|
||||
Обратите внимание, что лаунчер не позволяет читать и писать любые файлы. Вместо этого все файлы создаются в подкаталоге `/sdcard/Android/data/ru.execbit.aiolauncher/files/scripts` без возможности создавать подкаталоги.
|
||||
|
||||
# Настройки
|
||||
|
||||
* `settings:get()` - возвращает таблицу настроек в формате массива слов;
|
||||
@@ -208,6 +242,13 @@ ui:show_context_menu({
|
||||
|
||||
Стандартный диалог редактирования можно заменить на свой если реализовать функцию `on_settings()`.
|
||||
|
||||
# Подсобные функции
|
||||
|
||||
* `utils:md5(string)` - возвращает md5-хэш строки (массива байт);
|
||||
* `utils:sha256(string)` - возвращает sha256-хэш строки (массива байт);
|
||||
* `utils:base64encode(string)` - возвращает base64-представление строки (массива байт);
|
||||
* `utils:base64decode(string)` - декодирует base64-строку;
|
||||
|
||||
# Функции обработки данных
|
||||
|
||||
* `ajson:get_value(string, string)` - получает указанное значение из JSON; первый аргумент - JSON-строка, второй - инструкция для получения значения.
|
||||
|
||||
Reference in New Issue
Block a user