Voy a realizar una demostración de Crud con SqLite en Xamarin. Como veremos, Xamarin admite aplicaciones de base de datos que usan el motor de base de datos de SQLite, lo que permite cargar y guardar los objetos en código compartido.

Creamos un proyecto Cross-Platform:

1

Lo primero que debemos hacer es agregar el nuget: “sqlite-net-pcl” sobre la solución.

Creamos la carpeta Dependencies y dentro la interface IDataBase, que nos devolverá  la conexión a una plataforma o a otra.

2

Ahora haremos el Servicio de Dependencias: sobre el proyecto de Android y de IOS crearemos una clase llamada SQLiteClient. Al hacer el using sobre Dependency,  en [assembly: Dependency(typeof(SqLiteClient))] elegimos Xamarin.Forms. Y heredará de IDataBase. Lo que hará será recuperar de las carpetas.

3

Creamos la carpeta Models y la clase Raza con sus propiedades.

4

A continuación, creamos el Repository con la clase RepositoryRazas. Todas las acciones se realizan a través de la conexión SQLiteConnection.

Indicamos en el constructor de donde sacará dicha conexión. Android e IOS lo recuperará de una manera distinta. Internamente leerá si estás en Android o de IOS.

DependencyService.Get<IDataBase>().GetConnection();

5

Creamos un método para crear la BBDD, todo se crea a partir de la conexión.

Otro método para la búsqueda, insertar eliminar y modificar:

6
7

Creamos la carpeta Base con la clase ViewModelBase, heredará de INotifyPropertyChanged.

Hacemos el método con OnPropertyChanged para que se actualicen las vistas.

8

A continuación, vamos a visualizar los elementos.

  • ListView para mostrar todos los datos.
  • ViewModel para mostrar el conjunto que se llamará RazasViewModel
  • ViewModel para el objeto Raza  para insertar,modificar,eliminar que se llamará RazaViewModel.

Creamos la carpeta ViewModels y la clase RazasViewModel. Heredará de ViewModelBase.

Esta clase tendrá una colección de razas de perros para poder representarlo en cualquier pantalla. Al ser colección en Xamarin lo llamamos ObservableCollection<>. Y creamos la propiedad extendida para que si realizamos algún cambio, podamos verlo con OnPropertyChanged().

En el constructor cargo todas las razas de los perros y creo la colección para poder visualizarlo.

9

Ahora vamos a crear el ViewModel para una única raza, es decir, vamos a representar eliminar,modificar,insertar.

Creamos la clase RazaModel, que tendrá una propiedad de la clase Raza, será extendida.

10
a

A continuación, como queremos insertar, eliminar y modificar, vamos a crear los Command para realizar la acciones en el ViewModel RazaModel.

11

Ahora vamos a crear las vistas.

Creamos una carpeta Views y una vista InsertarRaza.xaml, irá enlazado con Binding al ViewModel RazaModel.

Esta vista creará una nueva raza de perros, entonces creamos el espacio de nombre para viewmodels: xmlns:viewmodels=»clr-namespace:ProyectoSqlLite.ViewModels»

 y creamos el objeto RazaModels:

 <ContentPage.BindingContext>

        <viewmodels:RazaModel/>

</ContentPage.BindingContext>

12

A continuación creamos la vista de ModificarRaza.xaml.

13

Y la vista de EliminarRaza.xaml

14

Ahora creamos la vista de todas las razas, se llamará RazasView.xaml.

Esta vista irá enlazada a RazasViewModel :

             xmlns:viewmodels=»clr-namespace:ProyectoSqlLite.ViewModels»

con su respectivo ContentPage.

<ContentPage.BindingContext>

        <viewmodels:RazasViewModel/>

    </ContentPage.BindingContext>

15

Ahora haremos la llamada desde MainPage.xaml con sus botones.

16

Ahora nos vamos a MainPage.xaml.cs y llamamos a los botones:

this.btneliminar.Clicked += Btneliminar_Clicked;à Necesito saber el código

this.btnmodificar.Clicked += Btnmodificar_Clicked; Necesito saber el código

this.btnmostrar.Clicked += Btnmostrar_Clicked;àmostrará la vista de Razas.

this.btnnuevo.Clicked += Btnnuevo_Clicked; àmostrará la vista

17
18

A continuación nos vamos a SqlCliente de Android y de IOS para indicar cómo recuperamos la conexión:

ANDROID:

19

IOS:

20

Resultado final:

21
22

Autora: Sandra Mimbela Castillo

Curso: Microsoft MCSA Web Applications + Microsoft MCSD App Builder + Xamarin

Centro: Tajamar

Año académico: 2018-2019

This Post Has One Comment

  1. Kiko Reply

    Hol Sandra,

    mira, estoy tratndo de arrancar tu proyecto en VisualStudio 2019 para entender a fondo tu solución.
    He bajado el zio que dejaste en el enlace y me encuentro con un problema en la carga.
    El mensaje que recibo por la Salida es :
    «C:\x\ProyectoSqlLite-master\ProyectoSqlLite\ProyectoSqlLite\ProyectoSqlLite.csproj : error : El archivo de proyecto ‘C:\x\ProyectoSqlLite-master\ProyectoSqlLite\ProyectoSqlLite\ProyectoSqlLite.csproj’ se ha movido, su nombre ha cambiado o no se encuentra en este equipo.»

    Puedes darme alguna sugerencia para resolverlo

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.