Я пытаюсь создать приложение с помощью App Inventor.
Приложение имеет больше функций, но я остановился на, я бы сказал, «базовом». Что я хочу сделать, так это изменить цвет фона (или цвет любого элемента), вызвав цвет из списка, хранящегося в TinyDB
.
У меня есть два экрана Screen1 и экран меню. Я пытаюсь вызвать TinyDB
, пока Screen1 инициализируется и устанавливает цвет фона приложения первым в списке. Далее я хочу, чтобы пользователь мог выбрать цвет из списка на другом экране «Меню». После выбора цвета измените цвет на обоих экранах.
Я попытался сделать это по инструкции https://sites.google.com/site/blocks123/playing-with-colors , но меня это немного сбивает с толку.
На принтскрине у меня есть блоки TinyDB
на Screen1. Возможно ли на Screen1 просто вызвать/инициализировать TinyDB
, но есть блоки TinyDB
на другом экране «Меню»?
А когда у меня TinyDB
и списки цветов как изменить цвет на выбранный?
Спасибо Тайфун. Ваш учебник был полезен для меня, хотя он немного сбивает с толку переменные, которые там не описаны. Во всяком случае, я пытался сделать это немного по-своему, и я думаю, что иду в правильном направлении. Как показано на втором изображении, я сделал это на экране «Меню» и попытался сохранить свой выбор в [TinyDB]. Он работает почти нормально, но за исключением ошибки при инициализации экрана «Меню». Я не понимаю, почему я получаю это сообщение, когда значение находится в списке? И наоборот, как передать переменную BCurrentColor в "Screen1"? Если я использую set.Screen1.BackgroundColor, это не работает
Что ж, теперь я знаю, что я близко, я почти могу уронить его в воздух. Это правильно меняет цвет фона на экране «Меню», но почему-то не сохраняет выбор в [TinyDB], как я описал в комментариях. Где я ошибся? Я надеюсь, что когда я сохраню «код» цвета в базе данных, я смогу вызвать его на другом экране.
BCurrentColor
иBCurrentColorName
должны быть значениями, а не списками, это помогает научиться работать со списками, см. также Как работать со списками, Садж и Как работать со списками и списками списков (pdf) от appinventor.org. Если у вас все еще есть проблемы, позвольте мне пригласить вас опубликовать сообщение на форуме App Inventor а>. - person Taifun   schedule 28.01.2017