Firebase Database Android : create, read, update, delete

Create Firebase instance,


Create Users Class,


public class Users {

    private String emp_code;

    public Users(){
    }

    public Users(String emp_code, String emp_name, 
                 String emp_design) {
        this.emp_code = emp_code;
        this.emp_name = emp_name;
        this.emp_design = emp_design;
    }

    private String emp_name;
    private String emp_design;

        public String getEmp_code() {
        return emp_code;
    }

    public void setEmp_code(String emp_code) {
        this.emp_code = emp_code;
    }

    public String getEmp_name() {
        return emp_name;
    }

    public void setEmp_name(String emp_name) {
        this.emp_name = emp_name;
    }

    public String getEmp_design() {
        return emp_design;
    }

    public void setEmp_design(String emp_design) {
        this.emp_design = emp_design;
    }


}

----------------------->

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("users");


Create:



String userId;

if(TextUtils.isEmpty(userId)){
    userId=myRef.push().getKey();
}
Users users=new Users("emp01","Ankesh Kumar","Android");
myRef.child(userId).setValue(users);



Snackbar.make(view, "Value Set", Snackbar.LENGTH_LONG)
        .setAction("Action", null).show();



Read


Query query = myRef.orderByChild("emp_code").equalTo("emp01");
query.addChildEventListener(new ChildEventListener() {
 // Retrieve new posts as they are added to Firebase                    @Override                    public void onChildAdded(DataSnapshot snapshot, String previousChildKey) {
 Users users= snapshot.getValue(Users.class);
 Toast.makeText(MainActivity.this,
    "Value is: " + users.getEmp_name(),
Toast.LENGTH_LONG).show();
                    }

  @Override 
  public void onChildChanged(DataSnapshot dataSnapshot, 
    String s) {

   }

 @Override  
 public void onChildRemoved(DataSnapshot dataSnapshot) {

                    }

 @Override  
public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                    }

  @Override  
 public void onCancelled(DatabaseError databaseError) {

                    }
 //... ChildEventListener also defines onChildChanged, 
  onChildRemoved,                    
//    onChildMoved and onCanceled, covered in later sections.                });



Update


Query query = myRef.orderByChild("emp_code").equalTo("emp01");
query.addListenerForSingleValueEvent(new ValueEventListener() {

@Override    
public void onDataChange(DataSnapshot tasksSnapshot) {
   for (DataSnapshot snapshot: tasksSnapshot.getChildren()) {

     Toast.makeText(MainActivity.this,"Update done",Toast.LENGTH_LONG).show();
     snapshot.getRef().child("emp_name").setValue("NewName");

        }
    }
    @Override    
public void onCancelled(DatabaseError firebaseError) {
    
Toast.makeText(MainActivity.this,"error on update",Toast.LENGTH_LONG).show();
 System.out.println("The read failed: " + firebaseError.getMessage());
    }
});


Delete


Query query = myRef.orderByChild("emp_code").equalTo("emp01");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Overridepublic void onDataChange(DataSnapshot tasksSnapshot) {
  for (DataSnapshot snapshot: tasksSnapshot.getChildren()) {

  Toast.makeText(MainActivity.this,"Delete",Toast.LENGTH_LONG).show();
  
  for (DataSnapshot appleSnapshot: snapshot.getChildren()) {
       appleSnapshot.getRef().removeValue();
            }

        }
    }
    @Override    public void onCancelled(DatabaseError firebaseError) {
     Toast.makeText(MainActivity.this,"error on delete",
         Toast.LENGTH_LONG).show();
        
    }
});


Comments