- Aprender como armazenar dados em um dispositivo móvel para acessá-los a partir de um computador aplicativo
- Aprender as diferentes opções de armazenamento e acesso a dados na nuvem para compartilhar dados entre usuários de aplicativos
Estas são as atividades para esta lição:
ARMAZENAMENTO DE DADOS A LONGO PRAZO
Na última unidade, você aprendeu a usar variáveis e listas para armazenar informações no app.
Quando o aplicativo é fechado, todas as variáveis armazenadas na memória do aplicativo são apagadas.
No entanto, há ocasiões em que você pode querer manter o controle das informações entre as execuções do aplicativo. Há dois tipos de armazenamento de longo prazo:
Armazenamento local
Armazenar informações no dispositivo móvel para serem recuperadas sempre que o aplicativo for executado.
Por exemplo, um endereço de usuário ou uma pontuação alta em um jogo.
Armazenamento em nuvem
Armazenar informações na Web (nuvem) para que todos os usuários do aplicativo possam acessar as informações.
Por exemplo, tabela de classificação de jogos ou mensagens de bate-papo.
ARMAZENAMENTO LOCAL
Quando o usuário fecha um aplicativo, os valores de todas as variáveis são apagados da memória do dispositivo.
Se quiser armazenar dados para o aplicativo entre as execuções, você usará o componente TinyDB up: span
O TinyDB pode ser usado para armazenar as informações pessoais de um usuário que não precisam ser compartilhadas.
Por exemplo, o usuário deseja inserir seu nome, idade e endereço uma vez, e não toda vez que usar o aplicativo. Outro exemplo é o rastreamento de algo como hábitos saudáveis ao longo do tempo.
TinyDB significa Tiny Database (banco de dados minúsculo). O banco de dados é uma coleção organizada de dados. Você, como programadora, decide como ele é organizado.
O TinyDB pode ser encontrado na gaveta Storage (Armazenamento) do Designer.
O TinyDB é um componente não visível, portanto, você não o verá aparecer na tela quando o adicionar ao projeto.
Para acessar os dados no TinyDB, você atribui a cada item de dados uma tagda mesma forma que você dá nomes às variáveis. Você armazena e obtém o valor da tag da mesma forma que define e obtém valores de variáveis. Isso é conhecido como um tag-value pair (par de valor de tag).
TinyDB.StoreValue armazena o novo valor no TinyDB. Você deve especificar a tag e o valor a ser armazenado.
TinyDB.GetValue obtém o valor atual.
valueIfTagNotThere é necessário caso nada tenha sido armazenado anteriormente com essa tag.
ARMAZENAMENTO EM NUVEM
Armazenamento em nuvem permite que qualquer usuário do aplicativo acesse e compartilhe dados.
App Inventor tem três opções viáveis de armazenamento em nuvem.
O CloudDB é um componente e serviço de banco de dados fornecido pelo MIT App Inventor.
O CloudDB funciona exatamente como o TinyDB. Você armazena e acessa dados usando pares de valores de tags.
O CloudDB é acessado na gaveta Storage (Armazenamento). É um componente não visível, portanto, não aparecerá na tela quando você o adicionar.
O armazenamento de dados funciona da mesma forma que o TinyDB.
StoreValue armazena o novo valor no CloudDB. Você deve especificar a tag e o valor a ser armazenado.
Você pode armazenar diferentes tipos de dados. Por exemplo, nesses blocos, highScore é um número. chat é uma lista de mensagens.
A obtenção de dados funciona de forma semelhante ao TinyDB, mas com uma etapa extra. Como o banco de dados está na nuvem, o aplicativo precisa pedir para obter o valor e aguardar uma resposta. Portanto, é necessário um bloco manipulador de eventos para sinalizar quando o banco de dados responder com os dados.
GetValue notifica o banco de dados de que o aplicativo deseja informações. valueIfTagNotThere deve ser o tipo de dados correto para a tag. Por exemplo, um número ou uma lista.
GotValue é acionado quando o banco de dados responde com as informações. Se você tiver várias tags em um aplicativo, precisará de um bloco if para verificar a tag correta antes de usar o valor.A obtenção de dados funciona de forma semelhante ao TinyDB, mas com uma etapa extra. Como o banco de dados está na nuvem, o aplicativo precisa pedir para obter o valor e aguardar uma resposta. Portanto, é necessário um bloco manipulador de eventos para sinalizar quando o banco de dados responder com os dados.
GetValue notifica o banco de dados de que o aplicativo deseja informações. valueIfTagNotThere deve ser o tipo de dados correto para a tag. Por exemplo, um número ou uma lista.
GotValue é acionado quando o banco de dados responde com as informações. Se você tiver várias tags em um aplicativo, precisará de um bloco if para verificar a tag correta antes de usar o valor.
A Planilha permite que você leia e grave em uma planilha do Google. Você precisará configurar uma conta de desenvolvedor do Google e seguir algumas etapas para vincular o app ao documento.
O componente Spreadsheet (Tabela) está disponível na gaveta Storage. Como é um componente não visível, ele não aparecerá na tela quando for adicionado ao app.
Há muitos blocos disponíveis para permitir que o aplicativo leia e grave células, linhas e colunas em sua planilha. É uma boa opção se você tiver dados de tabela que deseja acessar no app. Você também pode visualizar e editar os dados no Google Sheets, o que é útil, especialmente ao testar o app.
Dica de mentores(as)
Melhores práticas: Sempre armazene um backup de seus dados em algum lugar! É muito fácil excluir ou alterar acidentalmente seus dados, portanto, certifique-se de armazenar uma cópia extra em algum lugar seguro!
No App Inventor, você aprendeu o termo Tag-Value pair, que é muito usado na vida real em programação , embora o chamemos de Key-Value pair! Agora você conhece os termos que os especialistas usam!
Perguntas orientadoras a serem feitas para estudantes:Onde você acha que os dados na nuvem são armazenados? Você os carrega em um site como o Google, o YouTube, o Tiktok etc., mas onde eles são armazenados depois disso? Onde está a nuvem? Empresas como o Google têm prédios ENORMES com computadores só para armazenar coisas na nuvem. Portanto, a piada é: "Não está armazenado na nuvem, apenas no computador de outra pessoa". Armazenamento de dados da Amazon:
As dicas são fornecidas com o apoio do AmeriCorps.
ATIVIDADE: ARMAZENE PONTUAÇÕES DE JOGOS
Atualize o jogo Quick Quiz (Quiz Rápido) para armazenar as pontuações mais altas
- Abra o projeto inicial na Galeria App Inventor .
O link no vídeo está incorreto! O link do projeto inicial é https://bit.ly/appinventor-quick-quiz - Carregue-o no App Inventor para que você possa editar sua própria cópia.
- Acompanhe o vídeo abaixo para vincular o Google Tabelas ao app para armazenar e atualizar as pontuações mais altas dos jogadores.
DESAFIO
Agora que você programou o jogo Quick Quiz para ler, escrever e atualizar as pontuações mais altas pessoais, você pode:
- Leia as pontuações mais altas de todos os jogadores e encontre a pontuação mais alta de todas
- Relate essas informações ao usuário
- usando um rótulo/identificador
- ou adicioná-lo à mensagem de alerta
REFLEXÃO
Se você for armazenar dados para o app, precisará das informações aprendidas nesta lição. Ao começar a programar seu próprio aplicativo para o projeto, considere estas perguntas.
no aplicativo,
no dispositivo móvel do usuário,
ou na nuvem para compartilhamento
REVISÃO DOS PRINCIPAIS TERMOS
- Banco de dados - uma coleção organizada de informações
- Armazenamento em nuvem - informações que são armazenadas na Web para que qualquer dispositivo conectado à Internet possa acessá-las
- Tag-value pair (Par de valores da tag) - uma maneira de armazenar e acessar informações em um banco de dados
RECURSOS ADICIONAIS
Aqui estão mais documentos e tutoriais para explorar o armazenamento em nuvem no App Inventor.
- Crie um aplicativo de bate-papo que use o CloudD
- Crie um aplicativo de login que usa o CloudDB
- Conecte o Firebase ao App Inventor