Блоки управления App Inventor – Control.

Блоки App Inventor - ControlВ App Inventor есть комплекс блоков, который найдет применение практически в любом создаваемом мобильном приложении – Control. Это название переводится как «управление», что на мой взгляд не совсем верно. Здесь действительно присутствуют блоки, которые управляют приложением, но почему-то сюда попали и блоки, которые относятся к логическим функциям, например, «если-то». Впрочем, App Inventor таков, каков он есть и будем им пользоваться.

Итак, начнем с блока, представляющего собой логические функции.

if и if else (если-то и если-то-иначе).

Это не просто единичный блок, а целая группа блоков, которую можно построить на базе основного. Ниже будет рассказано, как это сделать.

Основной блок

Основной блок if-then

Этот блок проверяет соответствие заданному условию, то есть набор тестов. Если указанное условие выполнено, то выполняется указанное действие, иначе блок игнорируется. Его структуру можно представить как «если-то»

Дальше интересней:

ifelse

Этот блок тоже проверяет соответствие заданному условию, но при несоответствии ему выполняет еще какое-либо действие. Проще говоря «если-то-иначе»
Из основного блока можно получить и такой:

ifelseif

Здесь, как возможно вы уже догадались, получается «если – то – иначе если – то – иначе». Ну например: если а=1, то в=3, иначе, если а=2, то в=4, иначе в=5.

А вот небольшая анимашка про то, как из основного блока получить более разветвленные.

Использование блока App Inventor IfElse

for each from to (для каждого значения от – до делать-)

Блок используется для выполнения действий с переменной, находящейся в диапазон «от- и до-» с указанным шагом. Имя переменной можно указать вместо «number».

for each in list (для каждого из списка)

foreach

А этот блок App Inventor выполняет (do) определенные действия для значений из указанного списка (list)

While (в делать в тот момент, когда)

while

Блок, позволяющий проводить тестирование на некое условие/состояние и выполнять действие при выполнении этого условия или соответствии состоянию.

if then else (если-то-иначе)

choose

Набор тестов. По смыслу схожи с первым описанным здесь блоком «если-то-иначе».

Do (выполнить и вернуть результат)

doreturn

Иногда в процедуре или другом блоке возникает необходимость произвести некую операцию и вернуть результат этой операции – вот для этого и пригодится этот блок.

evaluate but ignore result (рассчитать но игнорировать результат)

evaluate

Это, по-сути, блок-затычка: рассчитать результат, но игнорировать его. Он может пригодится в рамках процедуры, где некий результат надо рассчитать, но не использовать его в рамках данной процедуры.

open another screen (открыть другой экран)

openscreen

Открывает экран с указанным именем. Сюда необходимо прикрепить вот такой блок

txt_block_ekran

и при срабатывании блока откроется Экран2

open another screen with start value (открыть другой экран с начальным значением)

openscreenwithvalue

Открывает другой экран и передает ему значение, указанное в блоке, прикрепленном к нижнему сокету.

getstartvalue (получить начальное значение)

Возвращает значение, переданное с предыдущего экрана. Этот блок используется в том случае, если на предыдущем экране был использован блок «open another screen with start value»

close screen (закрыть экран)

closescreen

Закрывает текущий экран. При этом открывается предыдущий.

close screen with value (закрыть экран с результатом)

closescreenwithvalue

Закрывает текущий экран и возвращает значение на предыдущий экран.

close application (закрыть приложение)

closeapp

Закрывает приложение.

get plain start text (получить начальный текст)

getplainstarttext

Этот блок позволяет получать обычный текст из других приложений (не аппинвенторовских), когда он был запущен с помощью этого другого приложения. Если не было передано никакго текста, то блок возвращает пустой текст.

close screen with plain text (закрыть экран и отдать текст)

closescreenwithplaintext

Закрывает экран и передает текст в приложение, которое открыло этот экран (это может быть не аппинвенторовское приложение). Этот и предыдущий блоки позволяют обмениваться данными (незначительным объемом) с другими android-приложениями.

Вот, вкратце, обзор возможностей, которые предоставляют блоки Control App Inventor.