Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 删除Firebase数据库Android上随机生成的子项_Java_Android_Firebase_Firebase Realtime Database_Removechild - Fatal编程技术网

Java 删除Firebase数据库Android上随机生成的子项

Java 删除Firebase数据库Android上随机生成的子项,java,android,firebase,firebase-realtime-database,removechild,Java,Android,Firebase,Firebase Realtime Database,Removechild,我想用一个按钮删除所有生成的子项。如上图所示,我想用一个按钮删除所有生成的子项,以清除数据库。我以前尝试过几种方法(例如:databasereference.setValue(null)),但显然它不能工作。我是Android Studio和Firebase数据库的新手。我试过一些例子,但实际上似乎不起作用。我使用了一个ID为deletebutton的按钮 这是我的密码。谢谢你的帮助` 公共类RealtimeData扩展了AppCompatActivity{ private DatabaseRe

我想用一个按钮删除所有生成的子项。如上图所示,我想用一个按钮删除所有生成的子项,以清除数据库。我以前尝试过几种方法(例如:databasereference.setValue(null)),但显然它不能工作。我是Android Studio和Firebase数据库的新手。我试过一些例子,但实际上似乎不起作用。我使用了一个ID为deletebutton的按钮 这是我的密码。谢谢你的帮助` 公共类RealtimeData扩展了AppCompatActivity{

private DatabaseReference mDatebase;
private DatabaseReference mDatebase2;
private DatabaseReference mDatebase3;
private DatabaseReference mDatebase4;
private DatabaseReference mDatabase5;


private TextView mTempView;
private TextView mHumidView;
private TextView mTimeView;
private TextView mphView;


//method that I had tried
private FirebaseAuth.AuthStateListener mAuthListener;
private Button buttonDelete;
private DatabaseReference databasePost;
private FirebaseAuth mAuth;


WifiManager wifiManager;
TextView wifiStatusTextView;


Switch wifiSwitch;
@Override
protected void onCreate(Bundle savedInstanceState) {

    buildDialog(RealtimeData.this).show();
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_realtime_data);
    Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
    setSupportActionBar(toolbar);

    //declare the deletebutton
    mAuth = FirebaseAuth.getInstance();
    buttonDelete = (Button) findViewById(R.id.deletebutton);




    //method that I tried



    mAuthListener = new FirebaseAuth.AuthStateListener(){
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth){
            if (firebaseAuth.getCurrentUser() != null){
                databasePost = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");
            }
        }
    };

    buttonDelete.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (mAuth.getCurrentUser() == null || databasePost == null)
                return;
            databasePost.setValue(null);            }
    });




    mDatebase = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");
    mTempView = (TextView) findViewById(R.id.tempvalue);

    mDatebase.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
        @Override
        public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
            for (com.google.firebase.database.DataSnapshot datasnap: dataSnapshot.getChildren()){
                String temp = datasnap.child("airtemperature").getValue(String.class);
                if (Float.valueOf(temp) >= 24 && Float.valueOf(temp) <= 30) {
                    mTempView.setText("Air Temperature: " + temp + " *C" + " Normal");
                }
                else if (Float.valueOf(temp) < 24)
                {
                    mTempView.setText("Air Temperature: " + temp + " *C" + " Abnormal Low ");
                }

                else if (Float.valueOf(temp) > 30)
                {
                    mTempView.setText("Air Temperature: " + temp + " *C" + " Abnormal High ");
                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            mTempView.setText("Air Temperature: Error");

        }
    });

    mDatebase2 = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");
    mHumidView = (TextView) findViewById(R.id.humidvalue);

    mDatebase2.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
        @Override
        public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
            for (com.google.firebase.database.DataSnapshot datasnap: dataSnapshot.getChildren()){
                String humid = datasnap.child("humidity").getValue(String.class);

                if (Float.valueOf(humid) >= 70 && Float.valueOf(humid) <= 75) {
                    mHumidView.setText("Air Humidity: " + humid + " %RH" + " Normal");
                }
                else if (Float.valueOf(humid) < 70)
                {
                    mHumidView.setText("Air Humidity: " + humid + " %RH" + " Abnormal Low ");
                }

                else if (Float.valueOf(humid) > 75)
                {
                    mHumidView.setText("Air Humidity: " + humid + " %RH" + " Abnormal High ");
                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            mHumidView.setText("Air Humidity: Error");
        }
    });

    mDatebase3 = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");
    mTimeView = (TextView) findViewById(R.id.timevalue);

    mDatebase3.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
        @Override
        public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
            for (com.google.firebase.database.DataSnapshot datasnap: dataSnapshot.getChildren()){
                String time = datasnap.child("time").getValue(String.class);
                //String date = datasnap.child("date").getValue(String.class);
                mTimeView.setText("Time: " + time  );
            }
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
            mTimeView.setText("Time: Error");

        }
    });




    // I removed some of thing which are not important for understanding the problem
私有数据库参考mDatebase;
私有数据库引用mDatebase2;
私有数据库引用mDatebase3;
私有数据库引用mDatebase4;
私有数据库引用mDatabase5;
私有文本视图mTempView;
私有文本视图mHumidView;
私有文本视图mTimeView;
私有文本视图mphView;
//我尝试过的方法
私有FirebaseAuth.AuthStateListener mAuthListener;
私人按钮删除;
私有数据库参考数据库POST;
私人消防队;
WifiManager WifiManager;
text视图wifiStatusTextView;
开关wifiSwitch;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
buildDialog(RealtimeData.this).show();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u realtime\u数据);
Toolbar Toolbar=(Toolbar)findViewById(R.id.app_bar);
设置支持操作栏(工具栏);
//声明删除按钮
mAuth=FirebaseAuth.getInstance();
buttonDelete=(按钮)findViewById(R.id.deletebutton);
//我试过的方法
mAuthListener=new FirebaseAuth.AuthStateListener(){
@凌驾
AuthStateChanged上的公共void(@NonNull FirebaseAuth FirebaseAuth){
如果(firebaseAuth.getCurrentUser()!=null){
databasePost=FirebaseDatabase.getInstance().getReference().child(“区域1”).child(“参数读取”);
}
}
};
buttonDelete.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
if(mAuth.getCurrentUser()==null | | databasePost==null)
返回;
databasePost.setValue(null);}
});
mDatebase=FirebaseDatabase.getInstance().getReference().child(“区域1”).child(“参数读取”);
mTempView=(TextView)findViewById(R.id.tempvalue);
mDatebase.addValueEventListener(新的com.google.firebase.database.ValueEventListener(){
@凌驾
public void onDataChange(com.google.firebase.database.database.DataSnapshot DataSnapshot){
对于(com.google.firebase.database.DataSnapshot datasnap:DataSnapshot.getChildren()){
String temp=datasnap.child(“空气温度”).getValue(String.class);
如果(温度的浮点值>=24和温度的浮点值30)
{
mTempView.setText(“空气温度:“+温度+”*C”+“异常高”);
}
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
mTempView.setText(“空气温度:错误”);
}
});
mDatebase2=FirebaseDatabase.getInstance().getReference().child(“区域1”).child(“参数读取”);
mHumidView=(TextView)findViewById(R.id.humidvalue);
mDatebase2.addValueEventListener(新的com.google.firebase.database.ValueEventListener(){
@凌驾
public void onDataChange(com.google.firebase.database.database.DataSnapshot DataSnapshot){
对于(com.google.firebase.database.DataSnapshot datasnap:DataSnapshot.getChildren()){
String潮湿=datasnap.child(“湿度”).getValue(String.class);
如果(浮动值(潮湿)>=70和浮动值(潮湿)75)
{
mHumidView.setText(“空气湿度:+湿度+%RH”+“异常高”);
}
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
mHumidView.setText(“空气湿度:错误”);
}
});
mDatebase3=FirebaseDatabase.getInstance().getReference().child(“区域1”).child(“参数读取”);
mTimeView=(TextView)findViewById(R.id.timevalue);
mDatebase3.addValueEventListener(新的com.google.firebase.database.ValueEventListener(){
@凌驾
public void onDataChange(com.google.firebase.database.database.DataSnapshot DataSnapshot){
对于(com.google.firebase.database.DataSnapshot datasnap:DataSnapshot.getChildren()){
String time=datasnap.child(“time”).getValue(String.class);
//String date=datasnap.child(“日期”).getValue(String.class);
mTimeView.setText(“时间:+Time”);
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
setText(“时间:错误”);
}
});
//我去掉了一些对理解问题不重要的东西
要删除:

databasePost = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");

buttonDelete.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        databasePost.removeValue();   
   }         
});