Справочные материалы и примеры App Inventor
Справочные материалы и примеры App Inventor
Обработка ошибок в MIT
Если на телефоне отключить вайфай и мобильные данные и Нажать кнопку "Получить" или кнопку "Отправить", то получим на телефоне следующее предупреждение:
[spoiler] [/spoiler]
на момент дебага приложения нам полезна эта информация. Это значит что есть какая то ошибка и нам (возможно) нужно ее обработать каким то образом.
Но если у нас ОК и нам нужно скрыть эти ошибки, то делаем так:
просто скрываем их, не уведомляя пользователя и не реагируя на эти ошибки:
[spoiler] [/spoiler]
Но мы можем также предупредить о появлении ошибок.
Для этого берем элемент "Уведомитель" и перетягиваем на Экран (справа можно настроть длительность уведомления)
[spoiler] [/spoiler]
теперь в разделе Блоки. подраздел Screen. ищем обработчик Ошибок и вытаскиваем его
[spoiler] [/spoiler]
И устанавливаем необходимый нам текст уведомления в случае возникновения ошибок (ну или производим другие необходимые нам действия реагирования на ошибки)
[spoiler] [/spoiler]
результат на телефоне
[spoiler] [/spoiler]
Если на телефоне отключить вайфай и мобильные данные и Нажать кнопку "Получить" или кнопку "Отправить", то получим на телефоне следующее предупреждение:
[spoiler] [/spoiler]
на момент дебага приложения нам полезна эта информация. Это значит что есть какая то ошибка и нам (возможно) нужно ее обработать каким то образом.
Но если у нас ОК и нам нужно скрыть эти ошибки, то делаем так:
просто скрываем их, не уведомляя пользователя и не реагируя на эти ошибки:
[spoiler] [/spoiler]
Но мы можем также предупредить о появлении ошибок.
Для этого берем элемент "Уведомитель" и перетягиваем на Экран (справа можно настроть длительность уведомления)
[spoiler] [/spoiler]
теперь в разделе Блоки. подраздел Screen. ищем обработчик Ошибок и вытаскиваем его
[spoiler] [/spoiler]
И устанавливаем необходимый нам текст уведомления в случае возникновения ошибок (ну или производим другие необходимые нам действия реагирования на ошибки)
[spoiler] [/spoiler]
результат на телефоне
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось feodor53 14 окт 2021, 19:48, всего редактировалось 1 раз.
Справочные материалы и примеры App Inventor
Мониторим статус есп в сети и актуальность последних полученных данных.
Вытаскиваем на экран следующие элементы:
[spoiler] [/spoiler]
Настройки элементов (установите длительность таймера часов и время TimeOut (элемент Интернет1)):
[spoiler] [/spoiler]
собираем все как для получения json из есп по таймеру.
Но теперь в элементе "когда Интернет1.получен текст" получаем респонс-код от сервера (на есп который) и если этот код=200, то присваиваем Зеленый цвет элементу "ГоризонтальноеРасположение1" и присваиваем элементам "Надпись2"("текущие данные из есп:") и "Надпись4"("последнее полученное значение из есп до обрыва связи") значения, полученные из есп.
Если респонс-код НЕ равен 200, то присваиваем элементу "ГоризонтальноеРасположение1" Красный цвет. И также присваиваем элементу "Надпись2"("текущие данные из есп:") текст = "нет связи".
[spoiler] [/spoiler]
Обрабатываем ошибку по TimeOut и ошмбки 1103 и 1101: выставляем цвет элемента "ГоризонтальноеРасположение1" и текст "Надпись2"("текущие данные из есп:") текст = "нет связи" в случае появления этих ошибок:
[spoiler] [/spoiler]
Теперь мы знаем о Статусе есп в сети и актуальности принимаемых данных, а также о последних удачно принятых значениях до обрыва связи:
[spoiler]
первый запуск приложения (телефон не подключен к вайфай (или подключен к другой сети вайфай), данных еще не приходило из есп): телефон подключен к вайфай и получает данные ИЗ есп с частотой раз в 200мсек: обрыв связи вайфай, данные не принимаются, но есть последние удачно полученные данные: [/spoiler]
Есп может не только в роли точки доступа работать в этом примере, но и в домашней/локальной сети вайфай. (нужно только не забыть в проекте MIT изменить IP адрес по которому мы делаем запросы).
файлы примера для есп-телефона-MIT:
[spoiler] [/spoiler]
Вытаскиваем на экран следующие элементы:
[spoiler] [/spoiler]
Настройки элементов (установите длительность таймера часов и время TimeOut (элемент Интернет1)):
[spoiler] [/spoiler]
собираем все как для получения json из есп по таймеру.
Но теперь в элементе "когда Интернет1.получен текст" получаем респонс-код от сервера (на есп который) и если этот код=200, то присваиваем Зеленый цвет элементу "ГоризонтальноеРасположение1" и присваиваем элементам "Надпись2"("текущие данные из есп:") и "Надпись4"("последнее полученное значение из есп до обрыва связи") значения, полученные из есп.
Если респонс-код НЕ равен 200, то присваиваем элементу "ГоризонтальноеРасположение1" Красный цвет. И также присваиваем элементу "Надпись2"("текущие данные из есп:") текст = "нет связи".
[spoiler] [/spoiler]
Обрабатываем ошибку по TimeOut и ошмбки 1103 и 1101: выставляем цвет элемента "ГоризонтальноеРасположение1" и текст "Надпись2"("текущие данные из есп:") текст = "нет связи" в случае появления этих ошибок:
[spoiler] [/spoiler]
Теперь мы знаем о Статусе есп в сети и актуальности принимаемых данных, а также о последних удачно принятых значениях до обрыва связи:
[spoiler]
первый запуск приложения (телефон не подключен к вайфай (или подключен к другой сети вайфай), данных еще не приходило из есп): телефон подключен к вайфай и получает данные ИЗ есп с частотой раз в 200мсек: обрыв связи вайфай, данные не принимаются, но есть последние удачно полученные данные: [/spoiler]
Есп может не только в роли точки доступа работать в этом примере, но и в домашней/локальной сети вайфай. (нужно только не забыть в проекте MIT изменить IP адрес по которому мы делаем запросы).
файлы примера для есп-телефона-MIT:
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось feodor53 14 окт 2021, 20:01, всего редактировалось 1 раз.
- Phazz
- Полковник
- Сообщения: 3130
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 234 раза
- Поблагодарили: 114 раз
Справочные материалы и примеры App Inventor
Прошу админов перетащить последние 5 сообщений в отдельную тему.
Справочные материалы и примеры App Inventor
может спешу, но очень хочется)))):
-можно примеры с голосовым управлением?
*с пониманием отнесусь, если пошлете...
-можно примеры с голосовым управлением?
*с пониманием отнесусь, если пошлете...

- Phazz
- Полковник
- Сообщения: 3130
- Зарегистрирован: 17 окт 2016, 15:38
- Откуда: Сургут
- Имя: Анатолий
- Благодарил (а): 234 раза
- Поблагодарили: 114 раз
Справочные материалы и примеры App Inventor
[ref]feodor53[/ref], есть ещё один вопрос это работа в фоне. Чтобы мониторить например датчик протечки.
Справочные материалы и примеры App Inventor
хороший вопрос.

в codular.io есть расширение для работы приложения в фоне. бесплатное.
но я не испытывал его.
Вот и будет темой следующего примера))) заодно и проведем испытания))
Последний раз редактировалось feodor53 14 окт 2021, 22:45, всего редактировалось 1 раз.
Справочные материалы и примеры App Inventor
[ref]sergserg[/ref],
там все на гугл.
примеры можно конечно, если гугл устроит.
там все на гугл.
примеры можно конечно, если гугл устроит.
Справочные материалы и примеры App Inventor
Всем Привет!
Решил тоже влиться в ряды "андроид-разработчиков
" и столкнулся с тем, что Json-блоки (которые bool) не отвечают моим требованиям.
В результате совместно с [ref=#808080]Phazz[/ref], допилили функционал блока: добавили опцию "сброс выхода блока":
теперь если выбрать в блоке (в Параметрах) "тип данных - boolean" , то у блока появится вход "sbros_out".
[spoiler] [/spoiler]
и если на этом входе будет "true" - то блок после получения json-строки от приложения сбросит свой выход в ноль. (т.е. у блока получился некий R-триггер).
Ну и заодно скину пример и видеодемонстрацию приложения для работы с обновленным функционалом блока.
[spoiler] [/spoiler]
Видеопример
[spoiler]
https://disk.yandex.ru/i/8beyFjqw2uDstA
[/spoiler]
ну и файлы все остальные (приложение сделано в Kodular.io и файл проекта тоже для него)
[spoiler] [/spoiler]
Решил тоже влиться в ряды "андроид-разработчиков

В результате совместно с [ref=#808080]Phazz[/ref], допилили функционал блока: добавили опцию "сброс выхода блока":
теперь если выбрать в блоке (в Параметрах) "тип данных - boolean" , то у блока появится вход "sbros_out".
[spoiler] [/spoiler]
и если на этом входе будет "true" - то блок после получения json-строки от приложения сбросит свой выход в ноль. (т.е. у блока получился некий R-триггер).
Ну и заодно скину пример и видеодемонстрацию приложения для работы с обновленным функционалом блока.
[spoiler] [/spoiler]
Видеопример
[spoiler]
https://disk.yandex.ru/i/8beyFjqw2uDstA
[/spoiler]
ну и файлы все остальные (приложение сделано в Kodular.io и файл проекта тоже для него)
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось anton2 01 ноя 2021, 23:18, всего редактировалось 1 раз.
Справочные материалы и примеры App Inventor
вооо - наконец то практичные примеры пошли
ништяк
Отправлено спустя 6 минут:
блин это ж получается можно разными есп управлять из одного приложения? главное чтоб есп и приложение были в одной сети?
отлично!
*убежал собирать

ништяк

Отправлено спустя 6 минут:
блин это ж получается можно разными есп управлять из одного приложения? главное чтоб есп и приложение были в одной сети?
отлично!
*убежал собирать

Справочные материалы и примеры App Inventor
Блоки обновлены! (ПО ССЫЛКЕ ВЫШЕ)
+ [ref=#808080]Phazz[/ref],
+ [ref=#808080]Phazz[/ref],
-
- Капитан
- Сообщения: 859
- Зарегистрирован: 17 ноя 2015, 20:36
- Имя: Сергей
- Благодарил (а): 40 раз
- Поблагодарили: 8 раз
Справочные материалы и примеры App Inventor
Если еще интересно, то на гитхабе есть пример для Serial OTG https://github.com/rkl099/Appinventor-SerialOTG
и Modbus https://github.com/rkl099/Appinventor-Modbus
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость