Teste o Cloud Firestore: conheça o banco de dados escalonável e flexível do Firebase e do Google Cloud Platform. Saiba mais sobre o Cloud Firestore.

Instalação e configuração no Android

Conectar seu app ao Firebase

  1. Instale o SDK do Firebase.
  2. No Console do Firebase, adicione seu app ao projeto.

Adicionar o Realtime Database ao seu app

Adicione a dependência do Realtime Database ao seu arquivo build.gradle de nível de aplicativo:

  implementation 'com.google.firebase:firebase-database:16.1.0'

Configurar as regras do Firebase Database

O Realtime Database oferece uma linguagem de regras declarativas para que você defina como os dados devem ser estruturados e indexados, e quando podem ser lidos e gravados.

Por padrão, o acesso de leitura e gravação ao seu banco de dados é restrito, por isso apenas usuários autenticados podem ler ou gravar dados. Para os primeiros passos sem configurar o Authentication, configure as regras para acesso público. Isso faz com que seu banco de dados esteja disponível para qualquer pessoa, mesmo para quem não utiliza seu app. Por isso, restrinja seu banco de dados novamente quando configurar a autenticação.

Gravar no seu banco de dados

Recupere uma instância do banco de dados usando getInstance() e faça referência ao local onde quer gravar.

Java
Android

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

Kotlin
Android

// Write a message to the database
val database = FirebaseDatabase.getInstance()
val myRef = database.getReference("message")

myRef.setValue("Hello, World!")

É possível salvar diversos tipos de dados no banco de dados dessa maneira, incluindo objetos Java. Ao salvar um objeto, as respostas de qualquer coletor serão salvas como filhos do local.

Ler no seu banco de dados

Para que os dados do aplicativo sejam atualizados em tempo real, adicione um ValueEventListener à referência que você acabou de criar.

O método onDataChange() será acionado uma vez quando o listener for anexado, e sempre que houver alteração nos dados, inclusive nos filhos.

Java
Android

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        Log.d(TAG, "Value is: " + value);
    }

    @Override
    public void onCancelled(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});

Kotlin
Android

// Read from the database
myRef.addValueEventListener(object : ValueEventListener {
    override fun onDataChange(dataSnapshot: DataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        val value = dataSnapshot.getValue(String::class.java)
        Log.d(TAG, "Value is: $value")
    }

    override fun onCancelled(error: DatabaseError) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException())
    }
})

Opcional: configurar o ProGuard

Ao usar o Firebase Realtime Database e o ProGuard no seu app, pense em como os objetos do modelo serão serializados e desserializados após a ofuscação. Se você usar <DataSnapshot.getValue(Class) ou DatabaseReference.setValue(Object) para ler e gravar dados, será necessário adicionar regras ao arquivo proguard-rules.pro:

    # Add this global rule
    -keepattributes Signature

    # This rule will properly ProGuard all the model classes in
    # the package com.yourcompany.models. Modify to fit the structure
    # of your app.
    -keepclassmembers class com.yourcompany.models.** {
      *;
    }

Preparar para o lançamento

Antes de lançar o app, recomendamos verificar nossa lista de verificação de lançamento para garantir que o app esteja pronto.

Próximas etapas

Enviar comentários sobre…

Firebase Realtime Database
Precisa de ajuda? Acesse nossa página de suporte.