Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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 如何在构建Android应用程序时附加到Firebase中的对象数组_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java 如何在构建Android应用程序时附加到Firebase中的对象数组

Java 如何在构建Android应用程序时附加到Firebase中的对象数组,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我是Firebase的新手,正在努力解决阵列更新问题 数据库结构如下所示: 目标是,每次同一用户发布新的危险时,在危险字段下应多输入一个危险条目 Firebase似乎不支持对数组结构的直接推送方法,所以我想我需要查询当前user\u id下的hazards数组,向查询的数组添加新的danger\u id,然后设置值(查询的\u数组) 我不知道如何从Firebase查询危险阵列。 危险列表类: public class DangerList { ArrayList<String&g

我是Firebase的新手,正在努力解决阵列更新问题

数据库结构如下所示:

目标是,每次同一用户发布新的危险时,在
危险
字段下应多输入一个危险条目

Firebase似乎不支持对数组结构的直接推送方法,所以我想我需要查询当前
user\u id
下的
hazards
数组,向查询的数组添加新的
danger\u id
,然后
设置值(查询的\u数组)

我不知道如何从Firebase查询危险阵列。

危险列表
类:

public class DangerList {
    ArrayList<String> Dangers = new ArrayList<>();

    public DangerList(){
    }

    public ArrayList<String> getDangers() {
        return Dangers;
    }

    public void PushDanger(String dangerId){
        this.Dangers.add(dangerId);
    }
}

您应该使用
push()
操作来增加列表,而不是使用数组。我建议阅读:
mPost.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
      ...
      String user_id = FirebaseAuth.getInstance().getCurrentUser().getUid();
      String danger_id = idGenerator.nextId();
      DangerList dangerList = new DangerList();
      dangerList.PushDanger(danger_id);
      userReference.child(user_id).setValue(dangerList);


}