Переменные и списки в App Inventor

  • Узнайте, как использовать переменные для хранения данных в приложении
  • Узнайте, как организовать данные в списки
  • Использование переменных и списков в приложении

ХРАНЕНИЕ ДАННЫХ

Когда вы создаете приложение, обычно в нем есть некоторая информация или данные, которые необходимо хранить, обновлять и получать к ним доступ.

Существует 3 типа данных, которые могут понадобиться для работы приложения:

Переменные

Сохраняйте информацию во время работы приложения.

Например, имя пользователя или результат игры.

Локальное хранение

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

Например, адрес пользователя или высокий игровой результат.

Облачное хранилище

Храните информацию в Интернете (облаке), чтобы все пользователи приложения могли получить к ней доступ.

Например, таблица лидеров в игре или сообщения в чате.

В этом уроке мы сосредоточимся на хранении данных в приложении с помощью переменных.

ПЕРЕМЕННЫЕ

Одним из самых важных понятий в кодировании является переменная. A переменная это название части данных, которая может изменяться. Легко запомнить, что переменная может изменятьсяили меняться в значении.

Каждый день множество важных для вас сведений меняют свою ценность. Вот несколько примеров:

праздничный торт со свечами
ваш возраст
облака с каплями дождя
погода
ежемесячный календарь
сегодняшняя дата

A переменная это как коробка, в которой можно хранить информацию.

  1. Вы наклеиваете этикетку или даете имя Чтобы не забыть, что находится внутри коробки.
  2. Когда вам понадобится информация, вы можете открыть коробку и получить то, что внутри
  3. Вы также можете изменить то, что находится внутри но сохранить то же имя снаружи.

 

Анимация хранения переменной в коробке

ПЕРЕМЕННЫЕ ИЗОБРЕТАТЕЛЯ ПРИЛОЖЕНИЯ

Переменные Используются для хранения информации во время работы приложения.

Все блоки переменных находятся в ящике "Переменные". 

Ящик переменных изобретателя приложений

Существует три основных блока переменных. Узнайте о них на вкладках ниже.

Блок initialize выделяет место в приложении для вашей переменной. Дайте ей полезное имя.

 

блок инициализации переменных App Inventor

Здесь переменная numberOfLessons инициализируется 0, возможно, для того, чтобы отслеживать, сколько уроков было пройдено в образовательном приложении.

Блок set позволяет установить или обновить значение переменной.

 

Здесь получено текущее значение, и переменная устанавливается в текущее значение + 1. Так, если NumberOfLessons было 2, новое значение будет 3.

Блок get позволяет получить текущее значение переменной.

Здесь блок get используется для вставки количества уроков в предложение для отображения в Label1.
получить блок переменных, используемых в блоке соединения
 
Здесь он используется для получения текущего количества уроков, чтобы проверить, не равно ли оно нулю, в условном блоке.
если блок App inventor
 
 
 

СПИСКИ

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

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

В App Inventor вы используете нечто, называемое список для организации множества элементов данных в ваших программах. В других языках программирования их называют массивыно по сути это одно и то же.

Возможно, вы уже составляли список дел или список продуктов, и списки в программировании очень похожи.

список покупок на бумаге с ручкой сверху
списки палитры в app inventor

Доступ к спискам осуществляется через палитру "Встроенные блоки" в редакторе блоков. Есть несколько блоков, которые позволяют создавать, хранить, извлекать и обновлять элементы в списке.

Вы храните список в переменной, поэтому можете дать списку имя.

Инициализация списка в app inventor

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

Например, если вы хотите отобразить 10 лучших результатов в игре, вы можете создать десять переменных с именами HighScore1,HighScore2, HighScore3 и так далее, пока не дойдете до HighScore10.

Лучше всего создать список HighScores, в котором будут храниться все 10 высоких оценок. Упорядочивать, обновлять и добавлять высокие баллы гораздо проще с помощью одного списка.

переменные и списки в app inventor

Каждый элемент списка имеет индексто есть его место в списке, что позволяет извлекать элемент из списка.

Например, в блоках ниже индекс 2 указывает на 2-й элемент в списке Fruits. Таким образом, Label1 будет отображать "Бананы".

Инициализация списка в app inventor
выбор из списка

Вы также можете добавлять, удалять и заменять элементы в списках. 

Если вы взяли исходный список фруктов [Яблоки, бананы, апельсины], сможете ли вы угадать, что будет в нем после того, как вы выполните приведенные ниже блоки в том порядке, в котором они расположены?

Инициализация списка в app inventor

Лучшие практики: Слово "переменная" - одна из самых трудных тем для изучения. Аналогия с коробкой очень помогает, так что если вам нужно проиллюстрировать ситуацию с коробками в реальной жизни, это может быть хорошей идеей!

Направляющие вопросы, которые можно задать студентам:

Как вы думаете, есть ли другие способы хранения данных, кроме списков или переменных? Как насчет того, чтобы хранить два значения вместе? Например, мне нужен список, в котором будет указано, сколько у меня апельсинов и сколько яблок, примерно так:
Апельсины: 3
Яблоки: 5

Я хочу как-то хранить это. Это более сложный список. Это почти как список, в котором значения связаны друг с другом следующим образом:
Апельсины -> 3
Яблоки -> 5

Стрелки имеют направление, поэтому мы бы назвали это картой! Существует множество других структур данных! Можете ли вы найти другие?

Продвинутые знания для успевающих учеников: Если кто-то из ваших учеников заинтересован в том, чтобы больше заниматься кодированием, которое не является блочным (например, продолжать кодировать на Python или Javascript), вы можете объяснить ему, что языки кодирования больше заботятся о том, что находится в поле. Например, числа обрабатываются иначе, чем символы в слове. Такие языки, как Python и Javascript, очень придирчивы к тому, как хранить числа и символы, потому что это разные "типы" вещей, которые можно хранить в переменной. Можно провести аналогию с тем, что вы используете разные типы коробок для хранения вещей: Ваши остатки еды должны лежать в специальной коробке для остатков еды (tupperware), а когда вы переезжаете, ваши вещи должны лежать в коробке для переезда (cardboard box). То же самое происходит и в python. Числа помещаются в коробки для чисел, а символы - в коробки для символов.

Советы для менторов предоставлены при поддержке AmeriCorps.

стилизованная буква A, логотип AmeriCorps в морском цвете

ДЕЯТЕЛЬНОСТЬ: ЗАПОЛНИТЕ ПРИЛОЖЕНИЕ ДЛЯ ВИКТОРИНЫ

Расчетное время: 45 минут

Дополните код, используя переменные и списки

Следуя указаниям в рабочем листе, создайте приложение-викторину, проверяющее знания пользователя по выбранной вами теме.
Открыть рабочий лист

РЕФЛЕКСИЯ

 

В этом уроке вы узнали, как хранить информацию в приложении и как использовать множество информации с помощью списков. Рассмотрим эти вопросы:

отражение с битами данных
Какие данные нужно хранить в приложении?
Как вы можете включить списки в свое приложение?

ОБЗОР ОСНОВНЫХ ТЕРМИНОВ

Переменная- способ именования и доступа к информации в приложении

Списки - способ организации множества данных в App Inventor

Индекс - число, указывающее, где находится часть данных в списке

Массив - общее название списков в языках программирования, отличных от App Inventor и Thunkable

ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ

Компонент ListView позволяет:

  • отображение элементов списка в вашем приложении
  • выбор пользователем элемента в списке.
  • кодирование действия, которое необходимо выполнить, когда пользователь выбирает элемент

Посмотрите это видео, чтобы увидеть его в действии: