React Native permite que você crie aplicativos Android com aparência e comportamento nativos usando apenas JavaScript. Nesse caso, o React Native se encarrega de gerenciar o estado da interface do usuário e sincronizá-lo com os modelos. E, para nossa sorte, podemos usar o Couchbase Lite para adicionar sincronização e persistência a um aplicativo React Native. Neste tutorial, você aprenderá a criar um aplicativo simples para salvar documentos e replicá-los para Gateway de sincronização. Aqui estão os principais conceitos que você aprenderá:

  1. Criar um projeto básico com o Couchbase Lite Android e o Couchbase Lite Java Listener
  2. Integração do React Native em seu projeto
  3. Adição de modelos e componentes de interface do usuário com JavaScript
  4. Configuração do Couchbase Sync Gateway

Aqui está uma prévia do que você vai construir:

todolite

Você pode fazer o download do projeto concluído em GitHub.

Pré-requisitos

Primeiros passos

Nesta seção, você criará um novo projeto do Android Studio do zero e integrar o React Native a ele.

Novo projeto do Android Studio

Antes de começar a escrever algum JavaScript, você precisa criar um novo projeto no Android Studio com todas as dependências. Abra o Android Studio e, na tela de boas-vindas, selecione Novo projeto. Na janela Novo projeto, digite TodoLite ReactNative Android para o nome do aplicativo e todolite-reactnative-android para o nome da pasta:

newprojectandroidstudio

Defina o SDK mínimo necessário como API 16: Android 4.1 ou posterior e usar a API do Android recomendada atualmente. Depois de preencher os campos, a janela New Project deverá ter a seguinte aparência:

api_16_android_jelly_bean

Clique em Next e escolha a opção Atividade em branco modelo:

 blank_activity blank_activity

Clique em Acabamento e você deverá ver o seguinte no navegador de projetos:

finish

Agrupamento de dependências

Expanda a pasta do aplicativo e abra a pasta build.gradle arquivo. Certifique-se de abrir o arquivo localizado no diretório aplicativo (também chamada de módulo) e adicione o seguinte na pasta androide seção:

Em seguida, abra build.gradle na raiz (também chamado de arquivo gradle no nível do projeto) e adicione uma referência ao repositório Maven do Couchbase:

Agora, adicione as seguintes linhas ao nível superior dependências seção:

Na barra de ferramentas do Android Studio, clique em Sync Project with Gradle Files (Sincronizar projeto com arquivos Gradle).

Configuração do Couchbase Lite e do Listener

Aberto AndroidManifest.xml localizado em app/src/main e adicione as permissões:

A atividade do React Native para Android

Você precisa adicionar algum código nativo para iniciar o tempo de execução do React Native e fazer com que ele renderize algo. Substitua o conteúdo de MainActivity.java com o seguinte e explicaremos o que está acontecendo a seguir:

Algumas coisas estão acontecendo aqui:

  1. Você cria uma atividade que cria um ReactRootViewinicia um aplicativo React dentro dele e o define como a exibição de conteúdo principal. Em seguida, você está chamando a função initCBLite que faz algumas coisas.
  2. Aqui você define um nome e uma senha vazios a serem usados pelo Listener. Isso significa que, em teoria, qualquer pessoa poderia acessar seu banco de dados. Isso é aceitável para este tutorial, mas na produção você substituiria a linha por novas Credenciais().
  3. Conecte o componente para compilar as visualizações JavaScript. Ainda não usaremos as visualizações do Couchbase neste tutorial, mas elas podem ser úteis.
  4. Instanciar o Gerente e ativar o registro.
  5. Inicie o Couchbase Listener informando a porta de escuta, a instância do gerenciador e as credenciais seguras.

Isso é tudo para a parte do Android, agora você pode voltar sua atenção para o JavaScript!

Terra do JavaScript

Na pasta raiz de seu projeto, execute:

Isso cria um módulo de nó para seu aplicativo e adiciona a dependência npm react-native. Agora, abra o módulo package.json e adicione esta linha dentro do arquivo roteiros campo:

Olá mundo

Copie e cole o código a seguir em um novo arquivo index.android.js em sua pasta raiz:

Construir e executar!

Para executar seu aplicativo, primeiro você precisa iniciar o servidor de desenvolvimento. Para fazer isso, basta executar o seguinte comando em sua pasta raiz:

OBSERVAÇÃO: No momento da redação deste texto, talvez seja necessário executar brew update && brew reinstall watchman para atualizar o watchman se você receber o erro Erro ao construir o DepdendencyGraph: TypeError: Não é possível ler a propriedade 'root' de null.

Agora, crie e execute seu aplicativo Android em uma nova guia do Terminal:

Abra-o no simulador do Android e você verá o seguinte:

helloworld

Parabéns por ter colocado o ambiente de desenvolvimento em funcionamento! O React Native inclui excelentes recursos, como o live reload, que facilitam muito a iteração na interface do usuário do aplicativo, mas primeiro você deve definir os modelos e métodos para persistir os documentos no banco de dados do Couchbase Lite.

Um aplicativo Todo

Uma API simples

Criar um novo arquivo app/utils/api.js e adicione o seguinte:

Aqui está o que você está fazendo:

  1. Você declara o ponto de extremidade no qual o Couchbase Listener está sendo executado.
  2. Nesse caso, o banco de dados remoto é o Sync Gateway. Ele seria substituído por sua instância de produção do Sync Gateway.
  3. O método para manter um documento de tarefa.
  4. Aqui, você está obtendo todos os documentos do Couchbase Lite.
  5. Inicie uma replicação push do banco de dados do Couchbase Lite para o Sync Gateway. Também pode haver uma replicação pull.

Com uma API básica implementada, agora você pode voltar sua atenção para a criação da interface do usuário.

Criação da interface do usuário

Crie um novo arquivo em app/componentes/Home.js com o seguinte:

Não se deixe intimidar pelo tamanho desse trecho de código. Tudo o que estamos fazendo aqui é declarar estilos e usar alguns componentes de IU do React Native incorporados para exibir uma entrada de texto, botões e rótulos de texto. Você pode encontrar a lista de componentes de IU incorporados aqui.

Atualização do componente raiz

A etapa final para que você possa ver seu excelente trabalho em ação é atualizar index.android.js para carregar o Início componente. Abaixo do exigir para importar react-nativoAdicione o seguinte:

Em seguida, substitua o valor de retorno do renderizar método com . Use o ⌘ + m no Genymotion para recarregar o JavaScript e você verá uma tela azul brilhante. Essa é uma boa notícia!

 savesync

Replicações com o Couchbase Sync Gateway

Faça o download do Sync Gateway no link abaixo e descompacte o arquivo:

http://www.couchbase.com/nosql-databases/downloads

Em um novo arquivo chamado sync-gateway-config.json, cole o seguinte:

E execute o Sync Gateway com esse arquivo de configuração:

Para tornar o ponto de extremidade do Sync Gateway acessível dentro do emulador de VM do Android, você precisa ativar uma porta do host para a VM. No Terminal, execute o seguinte:

Abra a interface de usuário do administrador para monitorar os documentos que foram salvos no Sync Gateway:

http://localhost:4985/_admin/

Tente adicionar mais documentos de tarefas e observe como eles são enviados automaticamente para o Sync Gateway.

Para onde ir a partir de agora

Parabéns! Você criou seu primeiro aplicativo React Native Android + Couchbase Lite. Agora você está pronto para adicionar mais componentes, como os seguintes:

  1. Visualizações do Couchbase Lite para escrever consultas personalizadas
  2. Autenticação do usuário em uma replicação
  3. Implementação contínua do arquivo de configuração do Sync Gateway e outros componentes

Fique atento a um tutorial sobre a depuração de seu aplicativo React Native Android + Couchbase Lite usando Charles e Genymotion.

Sinta-se à vontade para compartilhar seus comentários, descobertas ou fazer perguntas nos comentários abaixo ou nos fóruns. Falamos com você em breve!

Autor

Postado por James Nocentini, redator técnico, celular, Couchbase

James Nocentini é o redator técnico responsável pela documentação do Couchbase Mobile. Anteriormente, ele trabalhou como Developer Advocate e, antes disso, como desenvolvedor front-end da HouseTrip. Ele também gosta de escrever tutoriais sobre Android para raywenderlich.com em seu tempo livre.

Um comentário

  1. *Abra o AndroidManifest.xml localizado em app/src/main e adicione as permissões
    A linha acima indica as permissões, mas nenhuma foi encontrada na caixa fornecida abaixo dela.

Deixar uma resposta