6- Salvando dados
Nesta aula iremos abordar inicialmente um assunto um pouco teórico, vamos conhecer alguns conceitos de programação. Para que as informações do compromisso sejam visualizadas em outra tela é necessário enviar essas informações, mas antes de enviar precisamos salvá-las em algum lugar. Este local onde salvamos informações, no mundo da programação, chama-se variável. Variáveis são espaços, imagine-as como caixas, onde podemos guardar dados. Porém existem alguns detalhes a mais: as informações possuem tipos, por exemplo, um nome é um conjunto de letras, e nesse caso nosso dado é do tipo palavra. Mas se precisarmos salvar uma idade ela seria do tipo número (já que a idade corresponde a um número); ainda temos mais um tipo de informação: o tipo lógico. O tipo lógico serve para informações que só possuem duas opções: verdadeiro ou falso. Um exemplo seria o status de uma tarefa como concluído ou não concluído. No APP Inventor temos então os tipos String String,, Number e Number e boolean boolean (palavra, (palavra, número e logico), veja abaixo os blocos referentes aos tipos:
Figura 43: Tipos de dados Na categoria Math, encontramos vários blocos para fazer cálculos matemáticos. O primeiro bloco é usado na atribuição de um valor numérico para uma variável. Se necessário vamos usar os demais blocos de operações. Na categoria Text encontramos blocos para manipulação de Strings (palavras), o bloco mesmo que o bloco dos números, porém agora é atribuída uma palavra à variável. Os valores lógicos são
e
faz o
, falso e verdadeiro, respectivamente. respectivamente.
Para usar uma variável precisamos criá-la, aprenderemos agora como fazer isso. Vamos fazer uma pausa e exercitar o que vimos até o momento, para isso vou colocar alguns componentes na tela de compromisso, que está vazia. Olhe abaixo como ficou a montagem para esse exemplo:
Figura 44: Tela do exemplo Modifique as propriedades da maneira que achar melhor, mas mantenha os componentes (botões, labels e textBox). Na aba Blocks primeiramente criaremos uma variável: na categoria variable, pegue o
primeiro bloco:
, para que seja criado um local onde possamos salvar informações.
Vamos renomear essa variável para “valor” clicando em cima de “name”, ela ficará assim: ; e atribuir um texto vazio a ela da seguinte forma: que possui um texto em branco dentro dela.
, logo nossa variável está vazia, já
Faça com que a nossa variável guarde o nome digitado na caixa de texto quando o botão salvar for acionado, e depois mostre o valor armazenado dentro da variável na label de teste. Tente fazer sozinho antes de olhar a resposta logo abaixo.
Figura 45: Resposta de exercício Teste e verifique se tudo ocorreu como o planejado. Muitas vezes precisamos guardar várias informações de um mesmo tipo ou de tipos diferentes, e ao invés de criarmos muitas variáveis, podemos usar uma lista. A List também é uma maneira de armazenar dados, na aba blocks existe uma categoria chamada Lists.
Figura 46: Categoria lists
Assim como nas outras categorias, aqui você encontra vários blocos para trabalhar com listas. Os itens de uma lista são identificados através da posição em que ele foi adicionado, por exemplo, para encontrar o segundo item dentro de uma lista é necessário procurar o elemento na posição dois. Voltando ao nosso projeto, como precisamos salvar várias informações sobre um compromisso e posteriormente enviar esses dados para outra tela, é mais conveniente usarmos uma lista. Então é hora de programar! Tudo deve acontecer quando o botão salvar for clicado, pegue o evento .click do botão. Agora use o bloco que cria uma variável; como precisaremos de uma lista, pegue o bloco , na categoria lists, ele cria uma lista vazia. Coloque o nome da variável a seu gosto, no exemplo usei “comp”. Agora tudo que temos a fazer é capturar os valores dos componentes e adicionar cada um em uma posição da nossa lista, existe um bloco que faz exatamente isto. Pegue os valores das caixas de texto, das legendas que apresentam as horas e a data e o valor selecionado na lista suspensa (prioridade) nosso bloco deve ficar assim até o momento:
Figura 47: Capturando os valores Agora vamos usar um novo bloco em lists: procure por “add items to list” ele vai receber mais alguns blocos, o primeiro é a variável que guarda a lista onde desejamos adicionar os elementos, que será a lista com o nome “comp” (no meu caso), o próximo bloco é o item que iremos adicionar na lista. Mas ainda precisamos adicionar mais informações, clique no pequeno botão azul escuro que aparece no canto superior esquerdo do bloco, ele permite que você coloque mais itens na lista, coloque a quantidade de necessária para salvar todas as informações. Veja como deve ficar o bloco:
Figura 48: Adicionando as informações na lista
Cada item foi adicionado em uma posição da lista, encaixe o bloco dentro do evento de clique do botão salvar. Para finalizar nossa aula vamos fazer com que, após clicar no botão salvar, ele mostre uma mensagem e abra a tela inicial. Volte na aba designer e arraste o componente notifier, na aba blocks, e coloque os seguintes blocos:
Figura 49: Alerta de compromisso salvo
Lembra-se da segunda aula? Fizemos a mesma coisa, porém dentro de um evento diferente, coloque no evento click do botão salvar. Agora só falta fazer com que a tela inicial seja aberta, não tenha medo e brinque com os blocos. Caso fique com duvidas volte nas aulas anteriores e reveja os blocos que usamos.