Skip to content

koombea/couchbase-lite-wrapper-android

Repository files navigation

couchbase-wrapper-android

License

Couchbase Lite Wrapper is a library written in Kotlin that makes it easy for you to implement database CRUD operations with Couchbase Lite for Android

Requirements

  • Api 22+

Installation

Make sure you have the Maven Central repository in root build.gradle:

dependencyResolutionManagement {
	repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
	repositories {
		mavenCentral()
		maven { url 'https://jitpack.io' }
	}
}

Then add the dependency with:

dependencies {
	implementation 'com.github.koombea:couchbase-lite-wrapper-android:2.0.4'
}

The Basics

Setup

Create a couchbase database for each of the collection you want to store

val couchbaseDatabase = CouchbaseDatabase(context = context, databaseName = "User")

Create a couchBaseCollection in order to store documents on it

val couchbaseDatabase = CouchbaseDatabase(context = context, databaseName = "User")
val couchBaseCollection = couchbaseDatabase.createCollection("user") 

Create / Update document

val user = User(name = "Brad", lastname = "Depp")
val document = CouchbaseDocument(id = "1", attributes = user)
couchBaseCollection.save(document)

Fetch documents

val expression = Expression.property("attributes.name").equalTo(Expression.string("Brad"))
val documents = couchBaseCollection.fetchAll<User>(whereExpression = expression)

Delete Documents

val expression = Expression.property("attributes.name").equalTo(Expression.string("Brad"))
couchBaseCollection.deleteAll(whereExpression = expression)