Programa com Xojo do zero: persistência de dados

Programa com Xojo do zero: persistência de dados

Continuamos avançando na construção de nosso aplicativo multiplataforma com o Xojo para gerenciamento de despesas pessoais; e neste capítulo trataremos de resolver um dos problemas mais importantes que tivemos até agora: salvar os dados inseridos em disco para poder recuperá-los após cada nova execução do programa.

Isso nos permite apresentar outro recurso que o Xojo facilita muito: acessar, ler e gravar em qualquer arquivo que esteja em nossos dispositivos de armazenamento.



Para isso, usaremos três novas classes realbasic do Framework (ou seja, o conjunto de "ferramentas" prontas para uso fornecidas pelo ambiente de desenvolvimento): FolderItem (https://docs.xojo.com/FolderItem), TextOutputStream (https: / /docs.xojo.com/TextOutputStream) e TextInputStream (https://docs.xojo.com/TextInputStream).

Pense em FolderItem como a classe que, através de suas propriedades e métodos, nos permite acessar qualquer arquivo, seja ele já existente ou seja um novo arquivo que queremos criar… assim como pastas e/ou diretórios.

De fato, através das propriedades disponíveis nesta classe podemos realizar verificações comuns como verificar se o arquivo já existe no caminho esperado, se é uma pasta, a data de modificação ou criação, se pode ser lido ou escrito no destino indicado pelo caminho, modificar suas licenças... e uma longa e assim por diante.

Por outro lado, alguns dos métodos disponíveis na classe FolderItem têm a função de facilitar a cópia do arquivo de referência para um novo local, abri-lo, excluí-lo, movê-lo… ou criar novas pastas/diretórios no caminho especificado.

Quanto ao par de classes TextInputStream / TextOutputStream, estas têm a função de trabalhar com um arquivo específico (uma instância ou um objeto FolderItem), para que possamos acessar seu conteúdo como se fosse um fluxo de dados.



Observe que ambas as classes iniciam seus nomes com a palavra "Texto", o que significa que os dados a serem acessados ​​serão tratados como texto em vez de formato "binário".

No nosso caso é isso que queremos e funciona para nós porque todas as informações que vamos salvar e (posteriormente) recuperar estão em formato de texto: nome da despesa, data da compra, valor, etc.

Como um "fluxo de dados" ou "fluxo" é diferente de um arquivo? Pense no arquivo como o contêiner de dados, enquanto a classe responsável por acessar os dados armazenados pelo arquivo atuaria no próprio conteúdo.

Através de suas propriedades e métodos é possível mover para uma determinada posição (em bytes) dentro do arquivo, desde que não ultrapasse seu comprimento, é claro. Você também pode ler o conteúdo do arquivo "texto" linha por linha, tudo de uma vez, ou o fragmento desejado da posição atual no comprimento especificado.

Por sua vez, a classe que executa as funções opostas é TextOutputStream. Com ele, você pode abrir um arquivo (ou criá-lo, desde que passe uma referência para um FolderItem de qualquer maneira) para baixar o conteúdo que deseja como texto nele: linha por linha, um determinado trecho, ou tudo de uma vez.

Na prática

No desenvolvimento de nosso aplicativo de exemplo, usaremos essas três classes para salvar as categorias e todos os itens de compra que introduzimos.

Ao longo do vídeo, focamos nos detalhes de como salvar essas informações e recuperá-las posteriormente usando dois arquivos: um encarregado de guardar o nome das categorias e o outro onde estão localizadas as despesas associadas a cada uma das categorias.


É interessante porque também colocamos em prática muito do que vimos até agora: variáveis ​​simples, e também coleções de dados (Arrays e Dicionários); então é um bom momento para atualizar os conhecimentos dos dois capítulos anteriores… e também para ver um pouco mais a fundo como usá-los na prática.


Nome do aplicativo e outros detalhes

No início do vídeo também podemos ver algo muito importante ao criar qualquer um de nossos aplicativos: como indicar no Xojo IDE o nome que queremos dar ao nosso aplicativo… e também decidir para qual arquitetura queremos compilá-lo!


Você já sabe que, com o Xojo, decidir se deseja que seu aplicativo seja compilado para Macs baseados em Intel, processadores M1 ou como um aplicativo Universal é tão simples quanto selecionar a opção em um menu.

Twitter: @xojoes

Facebook: http://facebook.com/xojoes/

Baixe a versão mais recente em www.xojo.com

Recursos Xojo em espanhol: https://docs.xojo.com/spanish

Adicione um comentário do Programa com Xojo do zero: persistência de dados
Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.