How to store data using Firebase in android?
Saved by @Awais malik #android #java
Step 0: First create a class in which you set and get values of object you want to store on firebase
public class User { public String mUsername; public User(){ // Default constructor required for calls to DataSnapshot.getValue(User.class) } public User( String userName){ this.mUsername = userName; } }
Step 1: Now we create layout to get user name as input
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <EditText android:id="@+id/etUsername" android:layout_width="match_parent" android:layout_height="match_parent" /> <Button android:id="@+id/btnSave" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Save"/> </LinearLayout>
Step 2: Now we store value that we take from user on firebase
import android.content.Intent; import android.support.annotation.NonNull; import android.support.design.widget.TextInputLayout; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener; public class UserWelcome extends AppCompatActivity { private FirebaseAuth mAuth; private FirebaseAuth.AuthStateListener mAuthListener; private DatabaseReference mDatabaseReference; private FirebaseDatabase mFirebaseDatabase; private String TAG = "UserWelcome"; private EditText mUsername; private Button mBtnGetstarted; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_user_welcome); mAuth = FirebaseAuth.getInstance(); mFirebaseDatabase = FirebaseDatabase.getInstance(); mDatabaseReference = mFirebaseDatabase.getReference(); mUsername = findViewById(R.id.etUsername); mBtnGetstarted = findViewById(R.id.btnSave); mAuthListener = new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); if (user != null) { // User is signed in Log.d(TAG, "onAuthStateChanged:signed_in:" + user.getUid()); toastMessage("Successfully signed in with: " + user.getEmail()); } else { // User is signed out Log.d(TAG, "onAuthStateChanged:signed_out"); toastMessage("Successfully signed out."); } } }; // Read from the database mDatabaseReference.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. Object value = dataSnapshot.getValue(); Log.d("user name", "Value is: " + value); } @Override public void onCancelled(DatabaseError error) { // Failed to read value Log.w("user name", "Failed to read value.", error.toException()); } }); mBtnGetstarted.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try{ if(mUsername. getText().toString().isEmpty()){ mUsername.setError("please enter name"); mUsername.setErrorEnabled(true); }else{ FirebaseUser user = mAuth.getCurrentUser(); String userID = user.getUid(); mDatabaseReference.child(userID).child("UserName").setValue(mUsername. getText().toString().trim()); toastMessage("Adding " + mUsername. getText().toString().trim() + " to database..."); Intent mainIntent = new Intent( UserWelcome.this , MainActivity.class); startActivity(mainIntent); } }catch (Exception e){ e.printStackTrace(); } } }); } @Override public void onStart() { super.onStart(); mAuth.addAuthStateListener(mAuthListener); } @Override public void onStop() { super.onStop(); if (mAuthListener != null) { mAuth.removeAuthStateListener(mAuthListener); } } public void toastMessage( String msg){ Toast.makeText(getApplicationContext() ,msg , Toast.LENGTH_SHORT).show(); } }
In this tutorial we will learn about how to store data on firebase realtime database
,
Comments