Create an account
The first thing you need to do to get started with Firebase is sign up for a free account. A brand new Firebase app will automatically be created for you with its own unique URL ending in firebaseio.com. We'll use this URL to store and sync data.
Install Firebase
To use Firebase features in your Android application you can add a dependency to Gradle or Maven in your project or download the latest SDK.
firebase-client-jvm instead.
Using Gradle or Maven
We publish builds of our Android and Java SDK to the Maven central repository. To install the library inside
Android Studio, you can simply declare it as dependency in your build.gradle file:
dependencies {
compile 'com.firebase:firebase-client-android:2.5.2+'
}
If you are getting a build error complaining about duplicate files you can choose to exclude those files by
adding the packagingOptions directive to your build.gradle file:
android {
...
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE-FIREBASE.txt'
exclude 'META-INF/NOTICE'
}
}
If you use Maven to build your application, you can add the following dependency to your pom.xml:
<dependency>
<groupId>com.firebase</groupId>
<artifactId>firebase-client-android</artifactId>
<version>[2.5.2,)</version>
</dependency>
Download and Install
You can grab the latest Firebase SDK here:
Download Firebase Android SDK
After downloading the JAR, place it on your application's classpath. Typically, this is in your
libs folder. Depending on your IDE, you may need to explicitly add the library to your project as
a dependency.
Add Android Permissions
The Firebase library requires the android.permission.INTERNET permission to operate. Your app will not work unless you add this permission to your AndroidManifest.xml file:
<uses-permission android:name="android.permission.INTERNET" />
Setup Firebase on Android
The Firebase library must be initialized once with an Android context. This must happen before any Firebase app
reference is created or used. You can add the setup code to your Android Application's or
Activity's onCreate method.
@Override
public void onCreate() {
super.onCreate();
Firebase.setAndroidContext(this);
// other setup code
}
Read & Write to your Firebase Database
To read and write data from your Firebase database, we need to first create a reference to it. We do this by passing the URL of your database into the Firebase constructor:
Firebase myFirebaseRef = new Firebase("https://<YOUR-FIREBASE-APP>.firebaseio.com/");
There are several other ways to create a reference to a location in your database. These are all explained in our Understanding Data document.
Writing Data
Once we have a reference to your data, we can write any Boolean, Long,
Double, Map<String, Object> or List object to it using
setValue():
myFirebaseRef.child("message").setValue("Do you have data? You'll love Firebase.");
Our documentation on saving data explains the different write methods our API offers and how to know when the data has been successfully written to your Firebase database.
Reading Data
Reading data from your Firebase database is accomplished by attaching an event listener and handling the resulting events.
Assuming we already wrote to myFirebaseRef above, we can retrieve the message
value by using the addValueEventListener method:
myFirebaseRef.child("message").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
System.out.println(snapshot.getValue()); //prints "Do you have data? You'll love Firebase."
}
@Override public void onCancelled(FirebaseError error) { }
});
In the example above, the value event will fire once for the initial state of the data, and then again every time the value of that data changes. You can learn more about the various event types and how to handle event data in our documentation on reading data.
Authenticate Your Users
Firebase provides full support for authenticating users with Email & Password, Facebook, Twitter, GitHub, Google, or your existing authentication system.
To get started with Email & Password auth, enable the Email & Password provider in your Firebase app's dashboard:
- Choose the Login & Auth tab.
- Select the Email & Password tab and enable authentication.
Now that the authentication provider is enabled you can create a new user:
myFirebaseRef.createUser("[email protected]", "correcthorsebatterystaple", new Firebase.ValueResultHandler<Map<String, Object>>() {
@Override
public void onSuccess(Map<String, Object> result) {
System.out.println("Successfully created user account with uid: " + result.get("uid"));
}
@Override
public void onError(FirebaseError firebaseError) {
// there was an error
}
});
Once you've created your first user, you can log them in using the authWithPassword method.
Learn how to authenticate via Facebook, Twitter, Google or your own custom system in our User Authentication guide.
Secure Your Data
Use our powerful expression-based Security and Firebase Rules to control access to your data and validate input:
{
".read": true,
".write": "auth.uid === 'admin'",
".validate": "newData.isString() && newData.val().length < 500"
}
Firebase enforces your Security and Firebase Rules consistently whenever data is accessed. The rules language is designed to be both powerful and flexible, so that you can maintain fine-grained control over your application's data.
What's Next?
- Read the Development Guide
- View the full Java API
- Explore our code examples