2
respostas

Duvida em relação ao SQLite - Como setar o banco de dados ?

Em primeira instancia eu não consigo entender o sentido no primeiro código que vocês referenciam..

public class RefeicaoDAO
{
    private class RefeicaoDAO

    public RefeicaoDao (SQLiteConnection   con)
    {
        conexao = con;
    }
}

me parece errado, mas não tenho certeza, apenas não faz sentido..

E usando o SQL primeiro criavamos uma tabela para depois salvar o dado nesta tabela, o que não notei ser feito aqui no procedimento.

Segundo o próprio guia do Xamarin, também teriamos de criar primeiro a tabela segue link -> https://developer.xamarin.com/recipes/android/data/databases/sqlite/

No entanto a parte da Interface para se comunicar com os diferentes apps e afins me pareceu bastante plausivel, mas o tuturial no começo esta bastante confuso, eu no momento não vou conseguir acesso aos videos caso neles esteja sendo explica diferente, mas poderiam me elucidade de como proceder corretamente ?

2 respostas

Fala aí Ricardo blz?

Para criar a tabela utilizamos o método Table<T> da conexão que é obtida através da implementação da interface que você comentou (ex.: conexao.Table<Refeicao>).

Quando usamos esse método ele verifica se já existe uma tabela no banco de dados com o nome Refeicao e cada property vira uma coluna, caso não exista ele cria essa tabela sozinho. Caso já exista ele só retorna um List com todos os dados dessa tabela.

Olá, Ricardo!

Vamos lá:

public class RefeicaoDAO
{
    private class RefeicaoDAO

    public RefeicaoDao (SQLiteConnection   con)
    {
        conexao = con;
    }
}

Esse primeiro código que você mencionou serve para simplesmente para passar para o objeto de acesso a dados (DAO, Data Access Object) a instância da conexão SQLite que foi criada fora da classe RefeicaoDAO, na seguinte linha da HomeTabbedPage:

SQLiteConnection con = DependencyService.Get<ISqlite> ().GetConnection ();

Sobre o procedimento de criação da tabela, ele é feito nessas linhas:

Agora, um detalhe importantíssimo é: Quando criamos uma tabela? Ainda não criamos, então, abaixo de conexao = con ainda no arquivo "RefeicaoDAO" vamos escrever > conexao.CreateTable e isso fará com que a tabela seja criada - caso ela ainda não exista:

conexao = con;
conexao.CreateTable<Refeicao> ();

Note que esses trechos de código que postei aqui foram tirados da aula "Persistência de Dados":

https://cursos.alura.com.br/course/xamarin/task/13957

O que acha, ficou mais claro?

Boa sorte e bons estudos!