向Firebase读取/写入数组的最佳/更好方法

问题描述 投票:0回答:1

我试图找到如何从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);}

我对此有两个问题。

  1. 我可以将它保存为长字符串而不是数组吗?
  2. 如果有一种方法可以将数组读写为实际数组,那么这会更好吗?
java android arrays firebase google-cloud-firestore
1个回答
0
投票
  1. 我可以将它保存为长字符串而不是数组吗?

没什么错,但是使用数组更方便。例如,如果数据库中有一个餐厅ID数组,则在进行get()调用时,可以直接将这些数组作为列表获取,而无需拆分该长字符串。

  1. 如果有一种方法可以将数组读写为实际数组,那么这会更好吗?

更好,因为您可以使用特殊方法来更新或删除数组中的元素,如官方文档中所述:

© www.soinside.com 2019 - 2024. All rights reserved.