Este ejemplo es un simple aplicación Android en el que el usuario puede guardar una reseña con una valoración y una propiedad de nombre en una base de datos Couchbase Lite. Utiliza los componentes TabLayout y ViewPager para ilustrar 3 escenarios diferentes, cada uno en una pestaña separada.

Único (1ª pestaña): En _id es generado aleatoriamente por Couchbase Lite. Se persiste un nuevo documento en la base de datos cada vez que el campo Guardar se pulsa el botón . El documento almacenado tendrá las siguientes propiedades:

Conflicto (2ª pestaña): En _id se ajusta a lo que el usuario haya introducido en la entrada de texto. Pulsando Guardar persistirá un nuevo documento en la base de datos o lo actualizará si ya existe uno con este ID.

P2P (3ª pestaña): El campo de entrada de texto toma la URL de una base de datos de destino de Couchbase Lite o Sync Gateway de la forma http://{ip}:55000/ratingapp.

Debajo del ViewPager, hay un Interruptor para iniciar/detener las réplicas continuas pull/push a una base de datos remota. Esta suele ser la URL de la puerta de enlace de sincronización que se ejecuta en la nube. Puede cambiar la URL remota en StorageManager.java a su propia instancia de Sync Gateway (consulte la sección siguiente para desplegar Couchbase Server y Sync Gateway).

Por último, hay una tabla en la mitad inferior de la pantalla que muestra lo siguiente:

En la 1ª pestaña, muestra el número de valoraciones para cada valor posible. Utiliza una consulta con un nivel de grupo establecido en 1 para agregar los documentos con la misma valoración y una función de reducción para contarlos.

El código para registrar la vista se encuentra en StorageManager.java:

En la 2ª y 3ª pestaña, muestra el número de revisiones conflictivas de un documento. Sólo muestra el número de revisiones conflictivas, pero también sería posible resolver los conflictos utilizando el botón database.getDocument({id}).getConflictingRevisions() método.

Despliegue de Sync Gateway y Couchbase Server

Despliega una instancia nueva de Sync Gateway y Couchbase Server para esta aplicación con Tutum. Inicia sesión o crea una nueva cuenta en Tutum.co, luego enlázala a tu cuenta PaaS (Digital Ocean, AWS...). En el Nodos cree un nuevo nodo y elija el PaaS que desee. En la pestaña etiqueta añada rating-appA continuación, seleccione Pilas con esta pestaña Archivo Tutum y haz clic en crear. Esta pila incluye un contenedor Sync Gateway enlazado con un contenedor Couchbase Server.NOTA: El contenedor Sync Gateway fallará al intentar conectarse a un bucket de Couchbase Server que no existe. Pueden pasar varios minutos hasta que Couchbase Server se despliegue y la consola de administración esté accesible en http://{ip}:8091. Una vez accesible, crea una cuenta y un cubo llamado por defecto (el archivo de configuración de Sync Gateway espera que el cubo se denomine por defecto). Una vez creado el cubo, vuelve al Tutum Servicios y reinicie el contenedor Sync Gateway (o simplemente haga clic en el botón Ejecutar ya que debería estar parado).

Eliminar todos los documentos de una base de datos

Utiliza el borrar-documentos/borrar.js para eliminar todos los documentos de una base de datos en particular. Puede ser una base de datos Couchbase Lite o Sync Gateway. Sustituye el nombre de host en el script por el de la base de datos de destino de la que deseas eliminar los documentos.

Autor

Publicado por James Nocentini, Redactor técnico, Móvil, Couchbase

James Nocentini es el escritor técnico encargado de la documentación de Couchbase Mobile. Anteriormente, trabajó como Developer Advocate y antes de eso como desarrollador front-end para HouseTrip. También disfruta escribiendo tutoriales de Android para raywenderlich.com en su tiempo libre.

Dejar una respuesta