1.Update method
package abhiandroid.com.practice;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.os.Bundle;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class MainActivity2 extends AppCompatActivity {
//firebase RecyclerView
Adapter adapter; // Create Object of the Adapter class
RecyclerView rcy;
DatabaseReference mbase;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
rcy = findViewById(R.id.rcy);
rcy.setLayoutManager(new LinearLayoutManager(this));
mbase = FirebaseDatabase.getInstance().getReference().child("Student");
FirebaseRecyclerOptions<Model> options
= new FirebaseRecyclerOptions.Builder<Model>()
.setQuery(mbase, Model.class)
.build();
adapter = new Adapter(options);
rcy.setAdapter(adapter);
//onStart();
// onStop();
}
@Override
protected void onStart() {
super.onStart();
adapter.startListening();
}
}
2.
package abhiandroid.com.practice;
public class Model {
String name, address;
Model(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Model(String name, String Address) {
this.name = name;
this.address = address;
}
}
3.
package abhiandroid.com.practice;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
public class Adapter extends FirebaseRecyclerAdapter< Model,Adapter.myViewHolder> {
public Adapter(@NonNull FirebaseRecyclerOptions<Model> options) {
super(options);
}
@Override
protected void onBindViewHolder(@NonNull myViewHolder holder, int position, @NonNull Model model) {
holder.textView.setText(model.getName());
holder.textView2.setText(model.getAddress());
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// DatabaseReference mDatabase;
//mDatabase = FirebaseDatabase.getInstance().getReference();
String name = "boy";
String address = "gay";
Map<String, Object> map = new HashMap<>();
map.put("name",name);
map.put("address",address);
FirebaseDatabase.getInstance().getReference().child("Student")
.child(getRef(position).getKey()).updateChildren(map)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Toast.makeText(v.getContext(), "successfully", Toast.LENGTH_SHORT).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
}
});
}
@NonNull
@Override
public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item,parent,false);
return new myViewHolder(view);
}
public class myViewHolder extends RecyclerView.ViewHolder {
TextView textView, textView2;
Button button;
public myViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
textView2 = itemView.findViewById(R.id.textView2);
button = itemView.findViewById(R.id.b1);
}
}
}
4. Delete method
FirebaseDatabase.getInstance().getReference().child("Student")
.child(getRef(position).getKey()).removeValue();
5.
package abhiandroid.com.practice;
import android.annotation.SuppressLint;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.firebase.ui.database.FirebaseRecyclerOptions;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
public class Adapter extends FirebaseRecyclerAdapter< Model,Adapter.myViewHolder> {
public Adapter(@NonNull FirebaseRecyclerOptions<Model> options) {
super(options);
}
@SuppressLint("RecyclerView")
@Override
protected void onBindViewHolder(@NonNull myViewHolder holder, int position, @NonNull Model model) {
holder.textView.setText(model.getName());
holder.textView2.setText(model.getAddress());
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// DatabaseReference mDatabase;
//mDatabase = FirebaseDatabase.getInstance().getReference();
/*
String name = "boy";
String address = "gay";
Map<String, Object> map = new HashMap<>();
map.put("name",name);
map.put("address",address);
//update
FirebaseDatabase.getInstance().getReference().child("Student")
.child(getRef(position).getKey()).updateChildren(map)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Toast.makeText(v.getContext(), "successfully", Toast.LENGTH_SHORT).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
*/
//delete method
FirebaseDatabase.getInstance().getReference().child("Student")
.child(getRef(position).getKey()).removeValue();
}
});
}
@NonNull
@Override
public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item,parent,false);
return new myViewHolder(view);
}
public class myViewHolder extends RecyclerView.ViewHolder {
TextView textView, textView2;
Button button;
public myViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.textView);
textView2 = itemView.findViewById(R.id.textView2);
button = itemView.findViewById(R.id.b1);
}
}
}
6.
7.
8.
9.