
Foto de Ken Banks utilizado con permiso bajo CC BY 2.0
En entradas anteriores, escribí un resumen de nivel medio de Couchbase Móvily atravesó puesta en marcha en un proyecto Android.
En este post quiero empezar a explorar cómo utilizar Couchbase Lite (CBL) en una aplicación Android.
Empezaremos mostrando cómo Crear, Leer, Actualizar y Borrar algunos datos. (Aquí es donde el CRUD acrónimo que verás a menudo en el mundo de las bases de datos).
Hablaremos de usos más sofisticados en posts posteriores, pero realmente, puedes hacer un montón de cosas útiles sólo con estos pasos.
Casi todo ocurre como una operación sobre un objeto documento. El uso de CBL resulta más sencillo que cualquier otro enfoque, incluso para fines extremadamente sencillos.
Abrir o crear una base de datos
Para realizar cualquier operación con la base de datos, primero necesitamos una instancia de la clase Couchbase Lite Manager. Verás en el código de abajo, que realmente no se utiliza esta clase para mucho en casos sencillos.
Utilizando una instancia del gestor, abrir una base de datos es sólo una línea. Echemos un vistazo.
|
1 2 3 4 5 6 7 8 9 |
Director director = null; Base de datos base de datos = null; pruebe { director = nuevo Director(nuevo AndroidContext(getApplicationContext()), Director.OPCIONES_POR_DEFECTO); base de datos = director.getDatabase("crud"); } captura (Excepción ex) { Registro.e(TAG, "Error al obtener la base de datos"); } |
Obsérvese que el primer argumento de la función Director constructor de clase. Esto crea un AndroidContextque es algo exclusivo de Couchbase. Asegúrate de pasar un contexto de aplicación para inicializar este objeto, como se muestra. Cualquier otra cosa corre el riesgo de fugas de memoria.
El nombre de la base de datos es algo que inventé para este ejemplo. Puedes usar prácticamente lo que quieras.
Cree
La creación de una nueva entrada en la base de datos (denominada documento) sólo requiere una línea.
|
1 |
Documento documento = base de datos.crearDocumento(); |
A menudo querrás saber el id único del documento. Aquí está el código para recuperarlo.
|
1 |
Cadena documentId = documento.getId(); |
En crearDocumento crea un documento con un identificador único definido por el sistema. Para aplicaciones sencillas, puede que desee especificar su propio id. En este caso, utilice getDocument(String id) en su lugar. Si el documento aún no existe, se creará.
Leer
Conociendo el identificador, leer un documento es sencillo.
|
1 |
documento = base de datos.getDocument(documentId); |
Puedes hacer un trabajo más sofisticado con documentos y recuperación. Hablaremos de ello en otra ocasión, cuando profundicemos en las consultas.
Con un documento en la mano, puede extraer datos de él directamente utilizando getProperty(String clave) o getProperties().
Actualización
Los documentos de Couchbase Lite se almacenan como JSON. Eso hace que sea fácil manipularlos. Una vez más, no necesitas hacer nada para empezar. Puedes manipular documentos directamente usando mapas. Así es como se ve el código para actualizar alguna información de perfil, en este enfoque.
|
1 2 3 4 5 6 7 8 9 |
Mapa<Cadena, Objeto> perfil = nuevo HashMap<>(); perfil.poner("nombre", "Hod"); perfil.poner("apellido", "Greeley"); pruebe { documento.putProperties(perfil); } captura (CouchbaseLiteException ex) { Registro.e(TAG, "Operación CBL fallida"); } |
Una de las razones más convincentes para utilizar CBL es la flexibilidad que ofrece. Este código muestra cómo se puede añadir un nuevo elemento al documento.
|
1 2 3 4 5 6 7 8 9 |
perfil = nuevo HashMap<>(); perfil.putAll(documento.getProperties()); perfil.poner("tipo", "perfil"); // Añadir un "tipo" al documento pruebe { documento.putProperties(perfil); } captura (CouchbaseLiteException ex) { Registro.e(TAG, "Operación CBL fallida"); } |
Borrar
Llame al borrar sobre un documento para eliminarlo de la base de datos. La eliminación se produce inmediatamente
|
1 2 3 4 5 |
pruebe { documento.borrar(); } captura (CouchbaseLiteException ex) { Registro.e(TAG, "Error de CBL al borrar el documento"); } |
Conclusión
Lo que realmente me llama la atención en este post es lo mucho más orientado a objetos que se siente el uso de CBL, en comparación con algo como SQLite. Espero que quede claro. Explicar que se llama a la borrar en un documento para borrarlo parece casi una tontería. Pero, por supuesto, no es así como funciona en muchas bases de datos.
Posdata
Consulte más recursos en nuestra portal para desarrolladores y síganos en Twitter @CouchbaseDev.
Puede enviar preguntas a nuestro foros. Y participamos activamente en Stack Overflow.
Puede seguirme personalmente en Twitter @HodGreeley