Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/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的最佳/更好方法_Java_Android_Arrays_Firebase_Google Cloud Firestore - Fatal编程技术网

Java 将阵列读/写到firebase的最佳/更好方法

Java 将阵列读/写到firebase的最佳/更好方法,java,android,arrays,firebase,google-cloud-firestore,Java,Android,Arrays,Firebase,Google Cloud Firestore,我试图找到如何从我的Firebase写入/读取数组,最终得到了这个结果。当我写作时,我会: String RestaurantIDs = ""; for(String RestaurantID : category.getRestaurantIDs()) { RestaurantIDs += RestaurantID + ","; } DataToSave.put(CategoryFireBase.RestaurantIDs, "[" + RestaurantIDs + "]"); 当我阅读时

我试图找到如何从我的Firebase写入/读取数组,最终得到了这个结果。当我写作时,我会:

String RestaurantIDs = "";
for(String RestaurantID : category.getRestaurantIDs()) { RestaurantIDs += RestaurantID + ","; }
DataToSave.put(CategoryFireBase.RestaurantIDs, "[" + RestaurantIDs + "]");
当我阅读时,我会:

ArrayList<String> restaurantIDs = new ArrayList<>();
String[] Temp_restaurantIDs = document.get(CategoryFireBase.RestaurantIDs).toString().replace("[","").replace("]","").split(",");
for (String value : Temp_restaurantIDs){restaurantIDs.add(value);}
我有两个问题

我可以将其保存为长字符串而不是数组吗? 如果有一种方法可以将数组作为实际数组进行读写,那么这样更好吗? 我可以将其保存为长字符串而不是数组吗? 这没什么错,但使用数组更方便。例如,如果数据库中有一个餐厅ID数组,则在进行get调用时,可以直接将该数组作为列表获取,而无需拆分该长字符串

如果有一种方法可以将数组作为实际数组进行读写,那么这样更好吗? 是否更好,因为您可以使用专门的方法更新或删除数组中的元素,如官方文档中所述:


感谢您的回复,您能给我一个如何编写和数组以及如何读取的代码示例吗?当我尝试访问数组时,它将其作为对象返回,因此我不知道如何将其转换为数组,最后只是为了确保我的数组是这样的。我无法为您编写代码。根据答案中的信息,你应该自己尝试,如果出现其他问题,你应该问另一个问题。嗨,GetRektByNoob!我能帮你了解其他信息吗?如果你认为我的答案对你有帮助,请考虑通过点击复选来接受它。✔️ 在投票箭头下方的左侧。应该把颜色改成绿色。我真的很感激。谢谢