java - 从 firebase 数据库中删除节点

标签 java android firebase firebase-realtime-database firebase-authentication

我想从我的 Firebase 数据库中删除“all”节点。

这是我的数据库结构:

this is my database structure

这是默认生成的节点。我没有在代码中的任何地方添加它。下面是我将数据插入 Firebase 数据库的代码。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.login_details);
    etemail_id = (EditText) findViewById(R.id.etEmailid);
    etpassword = (EditText) findViewById(R.id.etPassword);

    tvlogin_details = (TextView) findViewById(R.id.tvLoginDetails);
    btback = (Button) findViewById(R.id.btBack);
    mAuth = FirebaseAuth.getInstance();
    btregister = (Button) findViewById(R.id.btRegister);
    database=FirebaseDatabase.getInstance();
    reference=database.getReference();
    users=new Users();
    btregister.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            final String email = etemail_id.getText().toString().trim();
            final String password = etpassword.getText().toString().trim();

            if (TextUtils.isEmpty(email)) {
                etemail_id.setError("Provide your Email first!");
                etemail_id.requestFocus();
            }
            else if (TextUtils.isEmpty(password)) {
                etpassword.setError("Enter Password!");
                etpassword.requestFocus();
            }
            else if (!(email.isEmpty() && password.isEmpty())) {
                mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(LoginDetails.this, new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()) {

                            reference.addValueEventListener(new ValueEventListener() {
                                @Override
                                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                                    SharedPreferences sp = getSharedPreferences("Mypref", Context.MODE_PRIVATE);
                                    reference.child("User").child(mAuth.getUid()).setValue(sp);
                                    Toast.makeText(getApplicationContext(), "data entered", Toast.LENGTH_SHORT).show();
                                }
                                @Override
                                public void onCancelled(@NonNull DatabaseError databaseError) {

                                    Toast.makeText(getApplicationContext(), "database error", Toast.LENGTH_SHORT).show();
                                }
                            });
                            Toast.makeText(LoginDetails.this, "Successfully registered", LENGTH_LONG).show();
                            Intent it = new Intent(getApplicationContext(), Login.class);
                            startActivity(it);
                        }

                        else {
                            Toast.makeText(LoginDetails.this, "Registration Error", LENGTH_LONG).show();
                        }
                    }
                });
            }
            else {
                Toast.makeText(LoginDetails.this, "Error", Toast.LENGTH_SHORT).show();
            }
         }
    }); 
}

请检查一下有什么问题。

最佳答案

根据您的评论,要删除all节点,请使用以下代码行:

String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference allRef = rootRef.child("User").child(uid).child("all");
allRef.removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        if (task.isSuccessful()) {
            Log.d(TAG, "all node deleted");
        }
    }
});;

关于java - 从 firebase 数据库中删除节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58269776/

相关文章:

java - 如何解决在spring-boot应用程序中无法加载驱动程序类: org. h2.Driver?

java - 无法在 appium 中的 twitter LoginPage 上找到元素

java - 如何绘制路径?我遇到了一个小错误

Android 对话框在旋转时崩溃

reactjs - 在 Next Js 中使用 Firebase 云消息推送通知

android - 当应用程序被杀死android时未收到使用FCM的推送通知

java - Java 中的接口(interface)敏感操作

java - 是什么导致 "NoSuchMethodError: org.springframework.beans.BeanWrapper.setAutoGrowCollectionLimit(I)V?"

android - SeekBar 可绘制对象在被适配器重用后未绘制

ios - 尽管规则设置为私有(private),但我的 firebase 存储不是私有(private)的