Implantando arquivo de banco de dados com Xamarin Forms

É muito comum que um aplicativo móvel utilize um banco de dados sqlite local. A combinação de Sqlite.net e Xamarin Forms torna isso muito fácil. Uma das razões pela qual nós escolhemos Sqlite como nosso banco de dados móvel é que é um único arquivo e funciona facilmente na Cross Platform.  O mesmo arquivo pode ser criado e aberto no iOS, Android, Windows, Mac, Windows Phone e WinRT.

Arquivo de banco de dados com Xamarin Forms

Às vezes, podemos querer criar um banco de dados com Xamarin Forms a partir do zero na primeira vez que nossa aplicação é executada. O Sqlite.net criará automaticamente o arquivo se ele não existir na primeira vez que tentarmos se conectar a ele. Podemos então usar o método CreateTable <TModel> () na classe SQLiteConnection para criar tabelas a partir de nossos modelos C #.

Outras vezes, porém, vamos querer enviar um banco de dados pré populado com o aplicativo Xamarin Forms. Podemos ter algumas tabelas de pesquisa que precisam ter registros neles, ou dados padrão que o aplicativo precisa para funcionar. Felizmente, com Xamarin Forms isso é fácil de realizar também.

Exemplo de código disponível em my Github repo

Os passos

  • crie o arquivo de banco de dados
  • vincule o arquivo de banco de dados a cada projeto específico da plataforma
  • copie o arquivo de banco de dados do pacote de aplicativos para um local gravável no sistema de arquivos
  • abra o arquivo de banco de dados para leitura e escrita

Copie o banco de dados SQlite

 

Podemos criar um arquivo de banco de dados Sqlite usando uma variedade de ferramentas no Mac e no Windows. Eu uso DB Browser para SQLite, uma ferramenta de plataforma cruzada que nos permitirá criar o banco de dados, definir o esquema e adicionar registros ao banco de dados. Para este exemplo, estaremos criando um arquivo chamado “people.db3“.

Crie o modelo

Ao usar o Sqlite.net, é importante que os modelos C # correspondam às definições da tabela. Se houver uma discrepância entre o modelo e a tabela, teremos resultados inesperados. Podemos acidentalmente criar novas tabelas, novas colunas em tabelas existentes ou não obter resultados de consultas.

 

Vincular o arquivo de database

Depois de criar o banco de dados em nosso desktop, precisamos incluí-lo em cada projeto da plataforma específica (iOS / Android / WP8). Podemos manter o arquivo em qualquer lugar no sistema de arquivos da área de trabalho, embora seja recomendado incluí-lo em nossa solução de controle de origem. Vamos usar o File Linking para incluir exatamente o mesmo arquivo em cada projeto.

iOS

Para o iOS, vamos vincular o arquivo db3 na pasta Recursos. Certifique-se de definir a ação de compilação para BundleResource.

 

Android

No Android, vamos vincular o arquivo db3 na pasta de ativos e definir a ação de construção para AndroidAsset.

 

Windows phone 8

Windows Phone irá vincular o arquivo de banco de dados na raiz do projeto e definir a ação de criação como conteúdo.

 

Copie o arquivo do banco de dados

Embora agora tenhamos incluído o arquivo de banco de dados com nosso aplicativo Xamarin Forms e ele fará parte do pacote que será instalado no dispositivo do usuário, o pacote de aplicativos e seus arquivos incluídos serão somente de leitura. Para realmente alterar o esquema do banco de dados ou adicionar novos registros, precisamos copiar o arquivo para um local gravável.

Cada dispositivo contém uma pasta especial para cada aplicativo, conhecida como app sandbox (caixa de proteção de aplicativos), para armazenar arquivos. Usaremos APIs de arquivo de cada plataforma para copiar o arquivo do pacote (bundle) de aplicativos para a app sandbox(caixa de proteção de aplicativos).

 

 

Rodando o app

Ao incluir nosso banco de dados predefinido com o nosso aplicativo, temos a capacidade de oferecer aos nossos usuários uma melhor experiência de primeira execução e minimizar a quantidade de trabalho que o aplicativo precisa fazer para poder ser executado pela primeira vez.

 

Código fonte

Você pode encontrar o modelo completo em my Github repo

Rob Gibbens

Leia mais postes mais publicações deste autor.

Fonte: http://arteksoftware.com/deploying-a-database-file-with-a-xamarin-forms-app/

23 de fevereiro de 2015 em xamarin-forms

Tradução: salomaosilva, Azuris. Desenvolvedor Xamarin Azuris

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *