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

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

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

Справочные материалы и примеры 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}
Репутация: 14
Имя: федор

Справочные материалы и примеры 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
Для скачивания вложений Вы должны быть зарегистрированы.
Последний раз редактировалось feodor53 14.10.2021{, 20:01}, всего редактировалось 1 раз.

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

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

#103

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

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

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

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

#104

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

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

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

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

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

#105

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

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

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

Справочные материалы и примеры 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}
Репутация: 14
Имя: федор

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

#107

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

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

anton2
Рядовой
Сообщения: 2
Зарегистрирован: 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
и если на этом входе будет "true" - то блок после получения json-строки от приложения сбросит свой выход в ноль. (т.е. у блока получился некий R-триггер).

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


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

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

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

#109

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

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

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

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

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

#110

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

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

+ Phazz,

Ответить

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