2016-04-28 1 views
1

я создаю андроид приложение с помощью App Inventor 2, я хочу создать Q & Игры, которая может хранить метки игроков с помощью TinyDB.App Изобретатель 2 с помощью TinyDB к стоимости магазина

Я 4 экрана
- Home Screen
- Q & экран - Игра окончена
- Игрок ввода имени
- Leaderboard

После того как игрок проиграл, то игра покажет их отметки и требовать от игроков ввода их имени. И тогда имя игрока будет сохранено в TinyDB. Когда игрок начинает новую игру (не закрывал приложение), снова, если он проиграл игру, ему нужно ввести свое имя, а затем его отметки и имя будут сохранены в TinyDB. Теперь в TinyDB должно быть записано две записи. Когда игрок отправляется на Leaderboard, он должен иметь возможность видеть свои отметки и имена (Всего две записи сейчас).

Я создал TinyDB, , но как-то старая запись будет заменена новой записью. Он не может хранить две записи.

Вот мои коды для входа игрока

enter image description here

Коды для Leaderboard

enter image description here

Отредактированный код в Leaderboard

enter image description here

ответ

0

В событии Leaderboard.Initialize вы должны прочитать результат с TinyDB с использованием блока TinyDB.GetValue и присвоить его глобальной переменной marksList.

Ваш startvalue в событии Leaderboard.Initialize - это только подсписка, которая будет добавлена ​​к метокList позже в вашей процедуре procedure и не является полным списком. Btw. Вы можете переименовать эту procedure, например, в insertMarks ...

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

+0

Можете ли вы сказать, что я должен делать в моем случае ?? Даже я использовал TinyDB для получения значения, у него есть только одно значение. –

+0

ну, в начале, TinyDB не имеет значения ... вы можете отредактировать свой вопрос и добавить обновленный снимок экрана ... – Taifun

+0

Я отредактировал код Leaderboard, как показано выше, –

Смежные вопросы