Xamarin.Forms - Criando uma aplicação com acesso a dados (SQLite) para Android usando o VS 2015 e C# - II


 No artigo de hoje vou mostrar como criar uma aplicação multiplataforma que pode ser usada no Windows Phone, Android e iOS, usando o Xamarin.Forms com acesso ao banco de dados SQLite usando o Visual Studio e a linguagem C#.
Nota:  Quando este artigo foi escrito o Xamarin era uma ferramenta paga, mas em março de 2016 ela foi adquirida pela Microsoft e agora esta integrada ao Visual Studio de forma gratuita.
Você pode fazer o download do Xamarin neste link :  https://www.xamarin.com/download

Vamos continuar a primeira parte deste artigo definindo agora a nossa camada de acesso a dados que será responsável por acessar e gerenciar as informações do nosso banco de dados SQLite.

Estamos usando o Xamarin.Forms onde podemos compartilhar o código da UI com as plataformas iOS, Android e Windows Phone:

Definindo a camada de acesso a dados no projeto Portable

A camada de acesso de dados de aplicativos móveis é  um pouco diferente das dos projetos web e assemelha-se mais à dos aplicativos para desktop. Geralmente usamos uma abordagem adotando os padrões MVVM, MVC para realizar operações CRUD básicas.

Lembre-se que em um dispositivo móvel, as páginas com dados vinculados tipicamente alimentam um banco de dados local no dispositivo, que sincroniza com um servidor de dados remoto usando serviços da web.

Dessa forma vamos criar uma classe bem simples para realizar as operações CRUD em nossa aplicação. Na verdade nesse exemplo iremos ver apenas a inclusão de dados.

Selecione o projeto compartilhado - Cadastro - e no menu Tools clique em Add Class;

Informe o nome AcessoBD.cs e inclua o código abaixo neste arquivo:

using System;
using SQLite.Net;
using System.IO;
using Xamarin.Forms;
using System.Linq;
using System.Collections.Generic;
namespace Cadastro
{
    public class AcessoDB : IDisposable
    {
        private SQLiteConnection conexaoSQLite;
        public AcessoDB()
        {
            var config = DependencyService.Get<IConfig>();
            conexaoSQLite = new SQLiteConnection(config.Plataforma, Path.Combine(config.DiretorioSQLite, "Cadastro.db3"));
            conexaoSQLite.CreateTable<Cliente>();
        }
        public void InserirCliente(Cliente cliente)
        {
            conexaoSQLite.Insert(cliente);
        }
        public void AtualizarCliente(Cliente cliente)
        {
            conexaoSQLite.Update(cliente);
        }
        public void DeletarCliente(Cliente cliente)
        {
            conexaoSQLite.Delete(cliente);
        }
        public Cliente GetCliente(int codigo)
        {
            return conexaoSQLite.Table<Cliente>().FirstOrDefault(c => c.Id == codigo);
        }
        public List<Cliente> GetClientes()
        {
            return conexaoSQLite.Table<Cliente>().OrderBy(c => c.Nome).ToList();
        }
        public void Dispose()
        {
            conexaoSQLite.Dispose();
        }
    }
}

Neste código definimos os seguintes métodos:

  • InserirCliente - Inclui um objeto Cliente no banco de dados;
  • AtualizarCliente - Atualiza um objeto Cliente;
  • DeletarCliente - Exclui um objeto Cliente do banco de dados;
  • GetCliente - Obtém um cliente pelo seu código;
  • GetClientes -Retorna todos os clientes ordenados pelo nome;
  • Dispose - Libera os recursos usados;

No construtor da classe usamos o DependencyService para encontrar a implementação da plataforma correta, permitindo que o código compartilhado acesse a funcionalidade nativa que nosso exemplo é o caminho do banco de dados na plataforma Android.

A seguir criamos o banco de dados Cadastro.db3 e a depois criamos a tabela Clientes.

Nos métodos implementados na classe AcessoDB(), e usamos os métodos Insert, Update, Delete e table<Cliente> para realizar as operações CRUD.

Na próxima parte do artigo vamos criar a nossa interface com o usuário usando código XAML e C#.

Dando graças ao Pai que nos fez idôneos para participar da herança dos santos na luz;
O qual nos tirou da potestade das trevas, e nos transportou para o reino do Filho do seu amor;
Colossenses 1:12,13

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

     Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti