diff --git a/README_ru.md b/README_ru.md index de7dbe9..c80b300 100644 --- a/README_ru.md +++ b/README_ru.md @@ -1,7 +1,7 @@ # Функции (колбеки) жизненного цикла -* `onResume()` - вызывается при каждом возрате на рабочий стол; -* `onAlarm()` - вывызвается при возврате на рабочий стол при условии, что с прошлого вызова прошло больше 30 минут; +* `onResume()` - вызывается при каждом возврате на рабочий стол; +* `onAlarm()` - вызывается при возврате на рабочий стол при условии, что с прошлого вызова прошло больше 30 минут; * `onTick()` - вызывается каждую секунду пока лаунчер находится на экране. Для большинства сетевых скриптов (загрузка и показ значений) следует использовать `onAlarm`. Использование других функций может привести к блокировке вашего IP. @@ -17,13 +17,17 @@ * `ui:showText(string)` - выводит в виджет обычный текст; повторный вызов стирает предыдущий текст; * `ui:showLines(table)` - выводит список строк, в качестве аргумента принимает таблицу строк; * `ui:showLinesWithAuthors(table, table)` - выводит список строк с отправителем (на манер почтового виджета); первая таблица - сами строки, вторая - соответствующие им отправители; таблицы должны быть одинакового размера; +* `ui:showButtons(table)` - выводит список кнопок; аргумент - таблица строк; * `ui:showProgressBar(text, currentValue, maxValue)` - показывает прогресс бар; * `ui:showToast(string)` - показывает информационное сообщение в стиле Android; +При нажатии любого элемента интерфейса будет выполнен колбек `onClick(number)`, где number - это порядковый номер элемента. Например, если вы используете `ui:showButtons` для показа трех кнопок, то при нажатии первой кнопки будет вызван `onClick` с аргументом 1, второй - с аргументов 2 и так далее. Если элемент на экране всего один - аргумент всегда будет равен единицы и его можно будет опустить. + # Системные функции * `system:openApp(string)` - открывает приложение, имя пакета которого указано в аргументе; -* `system:openBrowser(string)` - открывает указанный URL в бразуере или в приложении, умеющем обрабатывать данный тип URL. +* `system:openBrowser(string)` - открывает указанный URL в браузере или в приложении, умеющем обрабатывать данный тип URL. +* `system:getLocation()` - возвращает сохраненнное местоположение в таблице с двумя значениями (запрос местоположения НЕ выполняется, используется значение, сохраненное системой ранее). # Функции обработки данных @@ -42,7 +46,7 @@ } ``` -Необходимо излечь из него строку "joke". По тексту JSON видно, что эта строка содержится внутри объекта "value", а сам этот объект находится внутри основного объекта JSON. Другими словами чтобы излечь нужную строку необходимо "открыть" основной объект JSON, затем "открыть" объект "value" и излечь из него строку "joke". В коде это будет выглядеть так: +Необходимо извлечь из него строку "joke". По тексту JSON видно, что эта строка содержится внутри объекта "value", а сам этот объект находится внутри основного объекта JSON. Другими словами чтобы извлечь нужную строку необходимо "открыть" основной объект JSON, затем "открыть" объект "value" и извлечь из него строку "joke". В коде это будет выглядеть так: ``` local joke = json:getValue(result, "object object:value string:joke") diff --git a/app_buttons_sample.lua b/app_buttons_sample.lua new file mode 100644 index 0000000..249e05e --- /dev/null +++ b/app_buttons_sample.lua @@ -0,0 +1,10 @@ +function onResume() + appsNames = { "Telegram", "WhatsApp", "Google PLay" } + appsPkgs = { "org.telegram.messenger.web", "com.whatsapp", "com.android.vending" } + + ui:showButtons(appsNames) +end + +function onClick(idx) + system:openApp(appsPkgs[idx]) +end diff --git a/location-widget.lua b/location-widget.lua new file mode 100644 index 0000000..d37593e --- /dev/null +++ b/location-widget.lua @@ -0,0 +1,4 @@ +function onResume() + local location = system:getLocation() + ui:showText(location[1].." "..location[2]) +end