luchad95:
私は、現在のユーザーのUIDに対する私のデータベース内の子値を確認することができます方法はありますか?
私は基本的に、ユーザーが別のユーザーの法案を削除することはできませんという状態にエラーメッセージ/トーストを表示したいです。
このような私のデータベース構造のルックス(UID iは、現在のユーザーのUIDと比較するフィールドである):DBの構造
私は現在、特定の詳細が入力されているかどうかをチェックするためであればelse文を持っています:
if (!TextUtils.isEmpty(title) && !TextUtils.isEmpty(payer) && !TextUtils.isEmpty(amount) && (!TextUtils.isEmpty(date))) {
updateBill(billId, title, payer, amount, date, details, uid);
alertDialog.dismiss();
}
else {
Toast.makeText(MainActivity.this, "Please enter the Title, Payer, Amount and Date", Toast.LENGTH_SHORT).show();
}
}
編集:削除コード:
private boolean deleteBill(String id) {
//Getting the specified Bill reference by looking at the ID
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("Bills").child(id);
//Removing the ID
databaseReference.removeValue();
Toast.makeText(getApplicationContext(), "Bill Deleted Successfully", Toast.LENGTH_LONG).show();
return true;
}
アシシュ:
これは、あなたの問題を解決するのに役立ちます
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("Bills").child(id)
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(FirebaseAuth.getInstance().getCurrentUser().getUid().equals(dataSnapshot.child("uid").getValue(String.class))){
databaseReference.removeValue();
Toast.makeText(getApplicationContext(), "Bill Deleted Successfully", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(getApplicationContext(), "You're not authorized User to Delete Bill", Toast.LENGTH_LONG).show();
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});;