Merhaba arkadaşlar, bu gün ki makalemde firebase’e eklediğimiz bir veriyi nasıl sileceğimizi göreceğiz.
Bir önceki makalemde firebase de update işlemini görmüştük. Buradan okuyabilirsiniz.
package com.example.user.keepingmeontrack;
import com.google.firebase.auth.FirebaseAuth;
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 java.util.ArrayList;
/**
* Created by kubrahebes on 16.02.2018.
*/
public class FinanceGoalDetail extends BaseActivity {
FirebaseDatabase database;
DatabaseReference myRef;
DatabaseReference myRef2;
Goal value;
Goal value2;
String goalId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.finance_goal_detail);
userNAme = getUser().getUserName();
Intent intent = getIntent();
selectedItem = intent.getStringExtra("selectId");
Goal value;
/**
*Firebase connection
*/
database = FirebaseDatabase.getInstance();
myRef = database.getReference("datbase").child("finance");
myRef2 = database.getReference("datbase");
getdata();
}
/**
* get data from the firebase
*/
public void getdata() {
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot verigetir : dataSnapshot.getChildren()) {
try {
value = verigetir.getValue(Goal.class);
if (selectedItem.equals(value.getId())) {
setdata(value);
value2 = value;
}
} catch (Exception e) {
// This will catch any exception, because they are all descended from Exception
System.out.println("Error " + e.getMessage());
}
}}
@Override
public void onCancelled(DatabaseError error) {
Toast.makeText(FinanceGoalDetail.this, "Error", Toast.LENGTH_SHORT).show();
}
});
}
/**
* Set Adapter
*/
public void setdata(Goal obje) {
title.setText(obje.getName());
totalMoney.setText(obje.getTotalMoney() + " $");
startDate.setText(obje.getStartDate());
finishDate.setText(obje.getEndDate());
totalGoal.setText(obje.getTotalMoney() + " $");
totalSaving.setText(obje.getDailyAllowance() + " $");
goalId = obje.getId();
delete();
}
public void delete() {
myRef.child(goalId).removeValue();
Toast.makeText(FinanceGoalDetail.this, "Your goal was Deleted", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(FinanceGoalDetail.this, MainTabActivity.class);
startActivity(intent);
}
})
}
Silmek istediğimiz veriyi seçebilmemiz için ilk olarak tablodaki bütün kayıtları çekiyoruz. getdata methodu ile veritabanından verileri getirip setdate methodu ile adapter ayarlarını yapıyoruz. silmek istediğimiz kayıdın id degerini goalid değerine atıyoruz ve daha sonra delete methodunu çağırıyoruz. Oncreate methodunda connection ayarlamalarını yapmıştık. Delete methodunun içinde removeValue ile silmek istediğimiz veriyi siliyoruz. Son olarak Intent ile ana sayfaya geçiyoruz.
Bir makalenin daha sonuna geldik, esenle kalın..