Adicione o Firebase ao seu projeto Android , caso ainda não o tenha feito.
Crie um banco de dados
Navegue até a seção Realtime Database do console do Firebase . Você será solicitado a selecionar um projeto existente do Firebase. Siga o fluxo de trabalho de criação de banco de dados.
Selecione um modo de inicialização para suas regras de segurança do Firebase:
- Modo de teste
Bom para começar a usar as bibliotecas de cliente móvel e web, mas permite que qualquer pessoa leia e substitua seus dados. Após o teste, revise a seção Entenda as regras do Firebase Realtime Database .
Para começar a usar o SDK da Web, Apple ou Android, selecione testmode.
- Modo bloqueado
Nega todas as leituras e gravações de clientes móveis e da Web. Seus servidores de aplicativos autenticados ainda poderão acessar seu banco de dados.
Escolha um local para o banco de dados.
Dependendo da localização do banco de dados , a URL do novo banco de dados estará em um dos seguintes formatos:
DATABASE_NAME .firebaseio.com
(para bancos de dados emus-central1
)DATABASE_NAME . REGION .firebasedatabase.app
(para bancos de dados em todos os outros locais)
Clique em Concluído .
Adicione o SDK do Realtime Database ao seu aplicativo
<project>/<app-module>/build.gradle.kts
ou <project>/<app-module>/build.gradle
), adicione a dependência para o Realtime Database biblioteca para Android. Recomendamos usar o Firebase Android BoM para controlar o controle de versão da biblioteca.dependencies {
// Import the BoM for the Firebase platform
implementation(platform("com.google.firebase:firebase-bom:32.8.0"))
// Add the dependency for the Realtime Database library
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation("com.google.firebase:firebase-database")
}
Ao usar o Firebase Android BoM , seu aplicativo sempre usará versões compatíveis das bibliotecas do Firebase Android.
(Alternativa) Adicionar dependências da biblioteca Firebase sem usar o BoM
Se você optar por não usar o Firebase BoM, deverá especificar cada versão da biblioteca do Firebase em sua linha de dependência.
Observe que se você usa várias bibliotecas do Firebase no seu aplicativo, é altamente recomendável usar a BoM para gerenciar as versões da biblioteca, o que garante que todas as versões sejam compatíveis.
dependencies {
// Add the dependency for the Realtime Database library
// When NOT using the BoM, you must specify versions in Firebase library dependencies
implementation("com.google.firebase:firebase-database:20.3.1")
}
Configurar regras de segurança do Realtime Database
O Realtime Database fornece uma linguagem de regras declarativas que permite definir como seus dados devem ser estruturados, como devem ser indexados e quando seus dados podem ser lidos e gravados.
Escreva em seu banco de dados
Recupere uma instância do seu banco de dados usando getInstance()
e faça referência ao local onde você deseja gravar.
// Write a message to the database
val database = Firebase.database
val myRef = database.getReference("message")
myRef.setValue("Hello, World!")
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");
myRef.setValue("Hello, World!");
Leia do seu banco de dados
ValueEventListener
à referência que acabou de criar.
onDataChange()
nesta classe é acionado uma vez quando o ouvinte é anexado e novamente sempre que os dados são alterados, incluindo os filhos.
// 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>()
Log.d(TAG, "Value is: $value")
}
override fun onCancelled(error: DatabaseError) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException())
}
})
// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull 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(@NonNull DatabaseError error) {
// Failed to read value
Log.w(TAG, "Failed to read value.", error.toException());
}
});
Opcional: configurar o ProGuard
DataSnapshot.getValue(Class)
ou DatabaseReference.setValue(Object)
para ler e gravar dados, você precisará 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 this rule to fit the structure of your app.
-keepclassmembers class com.yourcompany.models.** {
*;
}
Prepare-se para o lançamento
Próximos passos
Aprenda como estruturar dados para o Realtime Database Dimensione seus dados em diversas instâncias de banco de dados . Ler e gravar dados . Visualize seu banco de dados no console do Firebase .