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

Документация, уроки, расширения

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#101

Сообщение feodor53 » 14.10.2021{, 17:29}

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

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

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#102

Сообщение feodor53 » 14.10.2021{, 19:16}

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

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

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

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

файлы примера для есп-телефона-MIT:
СпойлерПоказать
файлы примера.7z
(4.22 МБ) 18 скачиваний
Последний раз редактировалось feodor53 14.10.2021{, 20:01}, всего редактировалось 1 раз.

Аватара пользователя
Phazz
Полковник
Сообщения: 1980
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 227
Откуда: Сургут
Имя: Анатолий

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

#103

Сообщение Phazz » 14.10.2021{, 19:54}

Прошу админов перетащить последние 5 сообщений в отдельную тему.

sergserg
Сержант
Сообщения: 203
Зарегистрирован: 25.02.2021{, 14:26}
Репутация: -16
Имя: Сергей

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

#104

Сообщение sergserg » 14.10.2021{, 21:18}

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

*с пониманием отнесусь, если пошлете... :)

Аватара пользователя
Phazz
Полковник
Сообщения: 1980
Зарегистрирован: 17.10.2016{, 15:38}
Репутация: 227
Откуда: Сургут
Имя: Анатолий

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

#105

Сообщение Phazz » 14.10.2021{, 22:26}

feodor53, есть ещё один вопрос это работа в фоне. Чтобы мониторить например датчик протечки.

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#106

Сообщение feodor53 » 14.10.2021{, 22:43}

feodor53 писал(а):
14.10.2021{, 17:29}
есть ещё один вопрос это работа в фоне
хороший вопрос. :smile9: актуальный на мой взгляд.
в codular.io есть расширение для работы приложения в фоне. бесплатное.
но я не испытывал его.
Вот и будет темой следующего примера))) заодно и проведем испытания))
Последний раз редактировалось feodor53 14.10.2021{, 22:45}, всего редактировалось 1 раз.

feodor53
Рядовой
Сообщения: 85
Зарегистрирован: 28.09.2021{, 13:45}
Репутация: 16
Имя: федор

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

#107

Сообщение feodor53 » 14.10.2021{, 22:44}

sergserg,
там все на гугл.
примеры можно конечно, если гугл устроит.

anton2
Рядовой
Сообщения: 3
Зарегистрирован: 31.10.2021{, 21:27}
Репутация: 1
Имя: Антон

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

#108

Сообщение anton2 » 31.10.2021{, 22:00}

Всем Привет!

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

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

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

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


Видеопример
СпойлерПоказать
ну и файлы все остальные (приложение сделано в Kodular.io и файл проекта тоже для него)
СпойлерПоказать
Json_example.flp
(1.04 МБ) 20 скачиваний
JSON_proverka_tag_and_sbros_out_(Code_-_Professional).ubi
(551.69 КБ) 17 скачиваний
Kodular.7z
(4.71 МБ) 21 скачивание
Последний раз редактировалось anton2 01.11.2021{, 23:18}, всего редактировалось 1 раз.

sergserg
Сержант
Сообщения: 203
Зарегистрирован: 25.02.2021{, 14:26}
Репутация: -16
Имя: Сергей

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

#109

Сообщение sergserg » 31.10.2021{, 22:28}

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

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

anton2
Рядовой
Сообщения: 3
Зарегистрирован: 31.10.2021{, 21:27}
Репутация: 1
Имя: Антон

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

#110

Сообщение anton2 » 01.11.2021{, 23:19}

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

+ Phazz,

Аватара пользователя
fsergei70
Лейтенант
Сообщения: 691
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 49
Откуда: Ессентуки-Кисловодск
Имя: Сергей

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

#111

Сообщение fsergei70 » 06.05.2022{, 03:02}

Phazz писал(а):
05.10.2021{, 19:05}
а модбас расширения есть для AI
Если еще интересно, то на гитхабе есть пример для Serial OTG https://github.com/rkl099/Appinventor-SerialOTG
и Modbus https://github.com/rkl099/Appinventor-Modbus

artemka19
Сержант
Сообщения: 231
Зарегистрирован: 03.09.2020{, 15:41}
Репутация: 99
Откуда: Питер
Имя: Артем

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

#112

Сообщение artemka19 » 06.05.2022{, 11:11}

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

Ответить

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