public class

FirebaseDatabase

extends Object
java.lang.Object
   ↳ com.google.firebase.database.FirebaseDatabase

Class Overview

The entry point for accessing a Firebase Database. You can get an instance by calling getInstance(). To access a location in the database and read or write data, use getReference().

Summary

Public Methods
FirebaseApp getApp()
Returns the FirebaseApp instance to which this FirebaseDatabase belongs.
static FirebaseDatabase getInstance(String url)
Gets a FirebaseDatabase instance for the specified URL.
static FirebaseDatabase getInstance()
Gets the default FirebaseDatabase instance.
static FirebaseDatabase getInstance(FirebaseApp app)
Gets an instance of FirebaseDatabase for a specific FirebaseApp.
static FirebaseDatabase getInstance(FirebaseApp app, String url)
Gets a FirebaseDatabase instance for the specified URL, using the specified FirebaseApp.
DatabaseReference getReference()
Gets a DatabaseReference for the database root node.
DatabaseReference getReference(String path)
Gets a DatabaseReference for the provided path.
DatabaseReference getReferenceFromUrl(String url)
Gets a DatabaseReference for the provided URL.
static String getSdkVersion()
void goOffline()
Shuts down our connection to the Firebase Database backend until goOnline() is called.
void goOnline()
Resumes our connection to the Firebase Database backend after a previous goOffline() call.
void purgeOutstandingWrites()
The Firebase Database client automatically queues writes and sends them to the server at the earliest opportunity, depending on network connectivity.
void setLogLevel(Logger.Level logLevel)
By default, this is set to INFO.
void setPersistenceCacheSizeBytes(long cacheSizeInBytes)
By default Firebase Database will use up to 10MB of disk space to cache data.
void setPersistenceEnabled(boolean isEnabled)
The Firebase Database client will cache synchronized data and keep track of all writes you've initiated while your application is running.
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public FirebaseApp getApp ()

Returns the FirebaseApp instance to which this FirebaseDatabase belongs.

Returns
FirebaseApp The FirebaseApp instance to which this FirebaseDatabase belongs.

public static FirebaseDatabase getInstance (String url)

Gets a FirebaseDatabase instance for the specified URL.

Parameters
url String: The URL to the Firebase Database instance you want to access.
Returns
FirebaseDatabase A FirebaseDatabase instance.

public static FirebaseDatabase getInstance ()

Gets the default FirebaseDatabase instance.

Returns
FirebaseDatabase A FirebaseDatabase instance.

public static FirebaseDatabase getInstance (FirebaseApp app)

Gets an instance of FirebaseDatabase for a specific FirebaseApp.

Parameters
app FirebaseApp: The FirebaseApp to get a FirebaseDatabase for.
Returns
FirebaseDatabase A FirebaseDatabase instance.

public static FirebaseDatabase getInstance (FirebaseApp app, String url)

Gets a FirebaseDatabase instance for the specified URL, using the specified FirebaseApp.

Parameters
app FirebaseApp: The FirebaseApp to get a FirebaseDatabase for.
url String: The URL to the Firebase Database instance you want to access.
Returns
FirebaseDatabase A FirebaseDatabase instance.

public DatabaseReference getReference ()

Gets a DatabaseReference for the database root node.

Returns
DatabaseReference A DatabaseReference pointing to the root node.

public DatabaseReference getReference (String path)

Gets a DatabaseReference for the provided path.

Parameters
path String: Path to a location in your FirebaseDatabase.
Returns
DatabaseReference A DatabaseReference pointing to the specified path.

public DatabaseReference getReferenceFromUrl (String url)

Gets a DatabaseReference for the provided URL. The URL must be a URL to a path within this FirebaseDatabase. To create a DatabaseReference to a different database, create a FirebaseApp with a FirebaseOptions object configured with the appropriate database URL.

Parameters
url String: A URL to a path within your database.
Returns
DatabaseReference A DatabaseReference for the provided URL.

public static String getSdkVersion ()

Returns
String The semver version for this build of the Firebase Database client

public void goOffline ()

Shuts down our connection to the Firebase Database backend until goOnline() is called.

public void goOnline ()

Resumes our connection to the Firebase Database backend after a previous goOffline() call.

public void purgeOutstandingWrites ()

The Firebase Database client automatically queues writes and sends them to the server at the earliest opportunity, depending on network connectivity. In some cases (e.g. offline usage) there may be a large number of writes waiting to be sent. Calling this method will purge all outstanding writes so they are abandoned.

All writes will be purged, including transactions and onDisconnect() writes. The writes will be rolled back locally, perhaps triggering events for affected event listeners, and the client will not (re-)send them to the Firebase backend.

public void setLogLevel (Logger.Level logLevel)

By default, this is set to INFO. This includes any internal errors (ERROR) and any security debug messages (INFO) that the client receives. Set to DEBUG to turn on the diagnostic logging, and NONE to disable all logging.

Parameters
logLevel Logger.Level: The desired minimum log level

public void setPersistenceCacheSizeBytes (long cacheSizeInBytes)

By default Firebase Database will use up to 10MB of disk space to cache data. If the cache grows beyond this size, Firebase Database will start removing data that hasn't been recently used. If you find that your application caches too little or too much data, call this method to change the cache size. This method must be called before creating your first Database reference and only needs to be called once per application.

Note that the specified cache size is only an approximation and the size on disk may temporarily exceed it at times. Cache sizes smaller than 1 MB or greater than 100 MB are not supported.

Parameters
cacheSizeInBytes long: The new size of the cache in bytes.

public void setPersistenceEnabled (boolean isEnabled)

The Firebase Database client will cache synchronized data and keep track of all writes you've initiated while your application is running. It seamlessly handles intermittent network connections and re-sends write operations when the network connection is restored.

However by default your write operations and cached data are only stored in-memory and will be lost when your app restarts. By setting this value to `true`, the data will be persisted to on-device (disk) storage and will thus be available again when the app is restarted (even when there is no network connectivity at that time). Note that this method must be called before creating your first Database reference and only needs to be called once per application.

Parameters
isEnabled boolean: Set to true to enable disk persistence, set to false to disable it.