Справочные материалы и примеры App Inventor

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

Обработка ошибок в MIT

Если на телефоне отключить вайфай и мобильные данные и Нажать кнопку "Получить" или кнопку "Отправить", то получим на телефоне следующее предупреждение:
SPOILERSPOILER_SHOW
ошибка 1101.jpg
ошибка 1103.jpg
на момент дебага приложения нам полезна эта информация. Это значит что есть какая то ошибка и нам (возможно) нужно ее обработать каким то образом.
Но если у нас ОК и нам нужно скрыть эти ошибки, то делаем так:
просто скрываем их, не уведомляя пользователя и не реагируя на эти ошибки:
SPOILERSPOILER_SHOW
прячем ошибки без уведомления о ней.png
Но мы можем также предупредить о появлении ошибок.
Для этого берем элемент "Уведомитель" и перетягиваем на Экран (справа можно настроть длительность уведомления)
SPOILERSPOILER_SHOW
уведомитель на экран.png
теперь в разделе Блоки. подраздел Screen. ищем обработчик Ошибок и вытаскиваем его
SPOILERSPOILER_SHOW
вытаскиваем обработчик.png
И устанавливаем необходимый нам текст уведомления в случае возникновения ошибок (ну или производим другие необходимые нам действия реагирования на ошибки)
SPOILERSPOILER_SHOW
прячем ошибки с уведомлением о ней.png
результат на телефоне
SPOILERSPOILER_SHOW
с уведомлением об 1103-1101.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось feodor53 14 окт 2021, 19:48, всего редактировалось 1 раз.
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

Мониторим статус есп в сети и актуальность последних полученных данных.

Вытаскиваем на экран следующие элементы:
SPOILERSPOILER_SHOW
1.png
Настройки элементов (установите длительность таймера часов и время TimeOut (элемент Интернет1)):
SPOILERSPOILER_SHOW
2.png
3.png
4.png
собираем все как для получения json из есп по таймеру.

Но теперь в элементе "когда Интернет1.получен текст" получаем респонс-код от сервера (на есп который) и если этот код=200, то присваиваем Зеленый цвет элементу "ГоризонтальноеРасположение1" и присваиваем элементам "Надпись2"("текущие данные из есп:") и "Надпись4"("последнее полученное значение из есп до обрыва связи") значения, полученные из есп.
Если респонс-код НЕ равен 200, то присваиваем элементу "ГоризонтальноеРасположение1" Красный цвет. И также присваиваем элементу "Надпись2"("текущие данные из есп:") текст = "нет связи".
SPOILERSPOILER_SHOW
обработка респонс кода.png
Обрабатываем ошибку по TimeOut и ошмбки 1103 и 1101: выставляем цвет элемента "ГоризонтальноеРасположение1" и текст "Надпись2"("текущие данные из есп:") текст = "нет связи" в случае появления этих ошибок:
SPOILERSPOILER_SHOW
ошибки по таймауту и 1101 и 1103.png

Теперь мы знаем о Статусе есп в сети и актуальности принимаемых данных, а также о последних удачно принятых значениях до обрыва связи:
SPOILERSPOILER_SHOW
первый запуск приложения (телефон не подключен к вайфай (или подключен к другой сети вайфай), данных еще не приходило из есп):
1.jpg
телефон подключен к вайфай и получает данные ИЗ есп с частотой раз в 200мсек:
2.jpg
обрыв связи вайфай, данные не принимаются, но есть последние удачно полученные данные:
3.jpg
Есп может не только в роли точки доступа работать в этом примере, но и в домашней/локальной сети вайфай. (нужно только не забыть в проекте MIT изменить IP адрес по которому мы делаем запросы).

файлы примера для есп-телефона-MIT:
SPOILERSPOILER_SHOW
файлы примера.7z
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось feodor53 14 окт 2021, 20:01, всего редактировалось 1 раз.
Аватара пользователя
Phazz
Полковник
Сообщения: 2599
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий

Справочные материалы и примеры App Inventor

Сообщение Phazz »

Прошу админов перетащить последние 5 сообщений в отдельную тему.
sergserg
Сержант
Сообщения: 186
Зарегистрирован: 25 фев 2021, 14:26
Имя: Сергей

Справочные материалы и примеры App Inventor

Сообщение sergserg »

может спешу, но очень хочется)))):
-можно примеры с голосовым управлением?

*с пониманием отнесусь, если пошлете... :)
Аватара пользователя
Phazz
Полковник
Сообщения: 2599
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий

Справочные материалы и примеры App Inventor

Сообщение Phazz »

feodor53, есть ещё один вопрос это работа в фоне. Чтобы мониторить например датчик протечки.
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

feodor53 писал(а): 14 окт 2021, 17:29 есть ещё один вопрос это работа в фоне
хороший вопрос. :smile9: актуальный на мой взгляд.
в codular.io есть расширение для работы приложения в фоне. бесплатное.
но я не испытывал его.
Вот и будет темой следующего примера))) заодно и проведем испытания))
Последний раз редактировалось feodor53 14 окт 2021, 22:45, всего редактировалось 1 раз.
feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28 сен 2021, 13:45
Имя: федор

Справочные материалы и примеры App Inventor

Сообщение feodor53 »

sergserg,
там все на гугл.
примеры можно конечно, если гугл устроит.
anton2
Рядовой
Сообщения: 9
Зарегистрирован: 31 окт 2021, 21:27
Имя: Антон

Справочные материалы и примеры App Inventor

Сообщение anton2 »

Всем Привет!

Решил тоже влиться в ряды "андроид-разработчиков :smile171: " и столкнулся с тем, что Json-блоки (которые bool) не отвечают моим требованиям.

В результате совместно с Phazz, допилили функционал блока: добавили опцию "сброс выхода блока":

теперь если выбрать в блоке (в Параметрах) "тип данных - boolean" , то у блока появится вход "sbros_out".
SPOILERSPOILER_SHOW
1.jpg
2.jpg
и если на этом входе будет "true" - то блок после получения json-строки от приложения сбросит свой выход в ноль. (т.е. у блока получился некий R-триггер).

Ну и заодно скину пример и видеодемонстрацию приложения для работы с обновленным функционалом блока.
SPOILERSPOILER_SHOW
Screenshot_20211031-214312.jpg


Видеопример ну и файлы все остальные (приложение сделано в Kodular.io и файл проекта тоже для него)
SPOILERSPOILER_SHOW
Json_example.flp
JSON_proverka_tag_and_sbros_out_(Code_-_Professional).ubi
Kodular.7z
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось anton2 01 ноя 2021, 23:18, всего редактировалось 1 раз.
sergserg
Сержант
Сообщения: 186
Зарегистрирован: 25 фев 2021, 14:26
Имя: Сергей

Справочные материалы и примеры App Inventor

Сообщение sergserg »

вооо - наконец то практичные примеры пошли :smile9:
ништяк :smile171:

Отправлено спустя 6 минут:
блин это ж получается можно разными есп управлять из одного приложения? главное чтоб есп и приложение были в одной сети?
отлично!
*убежал собирать :D
anton2
Рядовой
Сообщения: 9
Зарегистрирован: 31 окт 2021, 21:27
Имя: Антон

Справочные материалы и примеры App Inventor

Сообщение anton2 »

Блоки обновлены! (ПО ССЫЛКЕ ВЫШЕ)

+ Phazz,
fsergei70
Капитан
Сообщения: 787
Зарегистрирован: 17 ноя 2015, 20:36
Имя: Сергей

Справочные материалы и примеры App Inventor

Сообщение fsergei70 »

Phazz писал(а): 05 окт 2021, 19:05 а модбас расширения есть для AI
Если еще интересно, то на гитхабе есть пример для Serial OTG https://github.com/rkl099/Appinventor-SerialOTG
и Modbus https://github.com/rkl099/Appinventor-Modbus
artemka19
Лейтенант
Сообщения: 540
Зарегистрирован: 03 сен 2020, 15:41
Откуда: Питер
Имя: Артем

Справочные материалы и примеры App Inventor

Сообщение artemka19 »

по проводам неинтересно))
Ответить

Вернуться в «Визуальное программирование в App Inventor»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость