SQLite é um mecanismo de banco de dados SQL embutido que não requer um processo de servidor separado. É amplamente utilizado em dispositivos móveis e pequenas aplicações, tornando-o uma excelente escolha para persistência de dados em aplicativos Flutter. Neste capítulo, vamos explorar como consultar dados usando SQLite em Flutter.

Antes de começarmos, é importante entender que o SQLite armazena dados em tabelas, que são coleções de linhas. Cada linha representa um único registro ou item de dados, e cada coluna em uma linha representa um campo de dados. Para consultar dados em SQLite, usamos a linguagem SQL (Structured Query Language), que é uma linguagem padrão para interagir com bancos de dados relacionais.

Primeiro, precisamos configurar nossa aplicação Flutter para usar SQLite. Isso envolve adicionar a dependência 'sqflite' ao nosso arquivo 'pubspec.yaml'. Em seguida, importamos o pacote sqflite em nosso arquivo Dart. Também precisamos importar o pacote 'path_provider', que nos ajuda a encontrar o caminho para o diretório onde vamos armazenar nosso banco de dados.

dependencies:
  flutter:
    sdk: flutter
  sqflite: ^1.3.0
  path_provider: ^1.6.22

Depois de importar os pacotes necessários, podemos criar nosso banco de dados. Isso é feito chamando a função 'openDatabase' e fornecendo um caminho para o arquivo do banco de dados. Se o banco de dados não existir, ele será criado. Caso contrário, ele será aberto.

final Future database = openDatabase(
  join(await getDatabasesPath(), 'my_database.db'),
);

Agora que temos nosso banco de dados, podemos criar uma tabela para armazenar nossos dados. Isso é feito usando a função 'execute' para executar uma instrução SQL CREATE TABLE. Esta instrução define o nome da tabela e os tipos de dados para cada coluna.

await database.execute(
  "CREATE TABLE my_table(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)",
);

Com nossa tabela criada, podemos inserir dados nela. Isso é feito usando a função 'insert', que leva o nome da tabela e um mapa dos dados a serem inseridos. O mapa deve ter uma chave para cada coluna na tabela e um valor correspondente para cada chave.

await database.insert(
  'my_table',
  {'id': 1, 'name': 'John Doe', 'age': 30},
);

Finalmente, chegamos à parte importante: consultar os dados. Isso é feito usando a função 'query', que leva o nome da tabela e retorna uma lista de mapas, onde cada mapa representa uma linha da tabela. Podemos então iterar sobre esta lista para acessar os dados individuais.

final List> maps = await database.query('my_table');

Podemos também usar a cláusula WHERE na nossa consulta para filtrar os resultados. Por exemplo, podemos buscar todas as linhas onde a idade é maior que 25.

final List> maps = await database.query(
  'my_table',
  where: 'age > ?',
  whereArgs: [25],
);

SQLite em Flutter é uma ferramenta poderosa para persistência de dados. Com ele, podemos criar, inserir e consultar dados de forma eficiente e eficaz. No entanto, é importante lembrar que SQLite é apenas uma das muitas opções disponíveis para persistência de dados em Flutter. Dependendo das necessidades do seu aplicativo, você pode achar que outras soluções, como o Firestore do Firebase ou mesmo uma API REST personalizada, são mais apropriadas.

Espero que este capítulo tenha lhe dado uma boa visão geral de como consultar dados usando SQLite em Flutter. No próximo capítulo, vamos explorar como atualizar e deletar dados.

Agora responda o exercício sobre o conteúdo:

Qual é o propósito da função 'openDatabase' no SQLite em Flutter?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Persistência de dados com SQLite em Flutter: Atualização de dados

Próxima página do Ebook Gratuito:

260Persistência de dados com SQLite em Flutter: Atualização de dados

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto