从Firebase Android中删除自动密钥节点

3

我不确定自己是否正确地做了这件事,但我正在创建一个查询以获取存储在 firebase 中的自动生成的键。我想从 firebase 中删除此键。我想知道这个过程是否正确?就像是只需在查询中调用 removeValue() 还是必须使用 Datasnapshot?我的代码如下。它所做的只是获取自动生成的键并将其打印出来。

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); String removeQuery = ref.child("EventData").push().getKey(); System.out.println(removeQuery); Log.d(TAG,"Remove Query was called !!!!!!!!!!!!");

更新1 enter image description here

更新2

有没有一种简单的方法将removeQuery设置为 null?


你正在创建 pushId。顺便问一下,你想要删除哪个值? - Ticherhaz FreePalestine
@Ticherhaz,我已经更新了帖子。我想删除高亮部分。 - Mark_rath
你需要拥有你的 pushId,然后才能删除它们。 - Ticherhaz FreePalestine
2个回答

3

这里:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); 
String removeQuery = ref.child("EventData").push().getKey();

您正在创建一个新的密钥并将其存储在变量中。您可以在最初阶段(将数据存储到数据库时)执行此操作,将数据添加到Intent中:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); 
String removeQuery = ref.child("EventData").push().getKey();
Intent intent = new Intent(getBaseContext(), Activity.class);
intent.putExtra("key", removeQuery);
startActivity(intent);

然后在另一个活动中,您可以像这样删除:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); 
String key = getIntent().getStringExtra("key");
ref.child("EventData").child(key).removeValue();

1
https://developer.android.com/reference/android/app/Activity#getIntent() getIntent是Activity类中的一个方法。如果您正在使用Fragment,则应使用getActivity().getIntent()。 - Peter Haddad

0

你需要存储 pushID,它是 M1VA...。然后你可以通过以下方式进行删除。 请参考此链接:https://firebase.google.com/docs/database/android/read-and-write#add_a_completion_callback

mDatabase.child("EventData").child("M1VA....").removeValue()
        .addOnSuccessListener(new OnSuccessListener<Void>() {
            @Override
            public void onSuccess(Void aVoid) {
                // Write was successful!
                // ...
            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                // Write failed
                // ...
            }
        });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接