Foto de Ken Banks usado com permissão em CC BY 2.0
Em publicações anteriores, escrevi um visão geral de nível médio de Couchbase Mobilee caminhou por Preparação em um projeto Android.
Nesta postagem, quero começar a explorar como usar o Couchbase Lite (CBL) em um aplicativo Android.
Começaremos mostrando como criar, ler, atualizar e excluir alguns dados. (É aqui que o CRUD O acrônimo vem de um termo que você verá com frequência no mundo dos bancos de dados).
Vamos abordar usos mais sofisticados em postagens posteriores, mas, na verdade, você pode fazer muitas coisas úteis apenas com essas etapas.
Quase tudo ocorre como uma operação em um objeto de documento. Usar o CBL acaba sendo mais fácil do que qualquer outra abordagem, mesmo para fins extremamente simples.
Abrir ou criar um banco de dados
Para executar qualquer operação de banco de dados, primeiro precisamos de uma instância da classe Couchbase Lite Manager. Você verá no código abaixo que essa classe não é muito usada em casos simples.
Usando uma instância de gerenciador, abrir um banco de dados é apenas uma linha. Vamos dar uma olhada.
1 2 3 4 5 6 7 8 9 |
Gerente gerente = nulo; Banco de dados banco de dados = nulo; tentar { gerente = novo Gerente(novo AndroidContext(getApplicationContext()), Gerente.DEFAULT_OPTIONS); banco de dados = gerente.getDatabase("crud"); } captura (Exceção ex) { Registro.e(TAG, "Erro ao obter o banco de dados"); } |
Observe o primeiro argumento do Gerente
construtor de classe. Isso cria um AndroidContext
que é algo exclusivo do Couchbase. Certifique-se de passar um contexto de aplicativo para inicializar esse objeto, conforme mostrado. Qualquer outra coisa pode causar vazamento de memória.
O nome do banco de dados é algo que inventei para este exemplo. Você pode usar praticamente qualquer coisa que quiser.
Criar
A criação de um novo registro no banco de dados (chamado de documento) é apenas uma linha.
1 |
Documento documento = banco de dados.createDocument(); |
Muitas vezes, você desejará saber o ID exclusivo do documento. Aqui está o código para recuperá-lo.
1 |
Cordas documentId = documento.getId(); |
O createDocument
cria um documento com um ID exclusivo definido pelo sistema. Em aplicativos simples, talvez você queira especificar seu próprio ID. Nesse caso, use getDocument(String id)
em vez disso. Se o documento ainda não existir, ele será criado.
Ler
Conhecendo o ID, a leitura de um documento é simples.
1 |
documento = banco de dados.getDocument(documentId); |
Você pode fazer um trabalho mais sofisticado com documentos e recuperação. Falaremos sobre isso em outro momento, quando nos aprofundarmos nas consultas.
Com um documento em mãos, você pode extrair dados diretamente dele usando getProperty(String key)
ou getProperties()
.
Atualização
Os documentos do Couchbase Lite são armazenados como JSON. Isso facilita a manipulação deles. Mais uma vez, você não precisa fazer nada para começar. Você pode manipular documentos diretamente usando mapas. Veja como é o código para atualizar algumas informações de perfil, nessa abordagem.
1 2 3 4 5 6 7 8 9 |
Mapa<Cordas, Objeto> perfil = novo HashMap<>(); perfil.colocar("firstName", "Hod"); perfil.colocar("lastName", "Greeley"); tentar { documento.putProperties(perfil); } captura (CouchbaseLiteException ex) { Registro.e(TAG, "Falha na operação do CBL"); } |
Um dos motivos mais convincentes para usar o CBL é a flexibilidade que ele oferece. Este código mostra como você pode adicionar um novo item ao seu documento.
1 2 3 4 5 6 7 8 9 |
perfil = novo HashMap<>(); perfil.putAll(documento.getProperties()); perfil.colocar("tipo", "profile" (perfil)); // Adicionar um "tipo" ao documento tentar { documento.putProperties(perfil); } captura (CouchbaseLiteException ex) { Registro.e(TAG, "Falha na operação do CBL"); } |
Excluir
Ligue para o excluir
em um documento para removê-lo do banco de dados. A exclusão ocorre imediatamente
1 2 3 4 5 |
tentar { documento.excluir(); } captura (CouchbaseLiteException ex) { Registro.e(TAG, "Falha na exclusão do documento pelo CBL"); } |
Concluindo
O que realmente me chama a atenção nesta postagem é a sensação de ser muito mais orientado a objetos usando o CBL, em comparação com algo como o SQLite. Espero que isso fique claro. Explicando que você chama a função excluir
em um documento para excluí-lo parece quase bobo. Mas, é claro, não é assim que funciona em muitos bancos de dados.
Pós-escrito
Confira mais recursos em nosso portal do desenvolvedor e nos siga no Twitter @CouchbaseDev.
Você pode postar perguntas em nosso fóruns. E participamos ativamente de Estouro de pilha.
Você pode me seguir pessoalmente no Twitter @HodGreeley