Connect your android app with firebase
Connect your app to Firebase
- Install the Firebase SDK.
- In the Firebase console, add your app to your Firebase project.
Add the Real-time Database to your app
Add the dependency for Real-time Database to your app-level
build.gradle
file: implementation 'com.google.firebase:firebase-database:16.0.5'
Configure Firebase Database Rules
The Real-time Database provides a declarative rules language that allows you to define how your data should be structured, how it should be indexed, and when your data can be read from and written to.
By default, read and write access to your database is restricted so only authenticated users can read or write data. To get started without setting up Authentication, you can configure your rules for public access. This does make your database open to anyone, even people not using your app, so be sure to restrict your database again when you set up authentication.
Write to your database
Retrieve an instance of your database user
getInstance()
and reference the location you want to write to.// Write a message to the database FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.setValue("Hello, World!");
You can save a range of data types to the database this way, including Java objects. When you save an object the responses from any getters will be saved as children of this location.
Read from your database
To make your app data update in real-time, you should add a
ValueEventListener
to the reference you just created.
The method
onDataChange()
in this class is triggered once when the listener is attached and again every time the data changes, including the children.// 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()); } });
Optional: Configure ProGuard
When using Firebase Real-time Database in your app along with ProGuard, you need to consider how your model objects will be serialized and deserialized after obfuscation. If you use <
DataSnapshot.getValue(Class)
orDatabaseReference.setValue(Object)
to read and write data, you will need to add rules to the proguard-rules.pro
file: # 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.** {
*;
}
Prepare for Launch
Before launching your app, we recommend walking through our launch checklist to make sure your app is ready to go!
Next Steps
- Learn how to structure data for Realtime Database
- Scale your data across multiple database instances.
- Read and write data.
- View your database in the Firebase console.
- If you are upgrading from a 2.X version of the Firebase SDK, please read our upgrade guide for Android.
Comments
Post a Comment