如何在 Android Studio Java 中将数组上传到 Firestore 数据
Posted
技术标签:
【中文标题】如何在 Android Studio Java 中将数组上传到 Firestore 数据【英文标题】:How to upload array to Firestore Data in Android Studio Java 【发布时间】:2021-10-25 05:34:27 【问题描述】:我想上传这样的数据:
已编辑的问题
//I have ArrayList<FoodModel> arr;
ArrayList<FoodModel> arr = new ArrayList<>();
arr.add(new FoodModel("Hamburger"));
arr.add(new FoodModel("Pizza"));
arr.add(new FoodModel("Chicken"));
//and so on...
我想将 ArrayList
上传到 firestore 是否可以?
【问题讨论】:
【参考方案1】:您只需要在 hashmap 中添加一个列表字段:
Map<String, Object> docData = new HashMap<>();
docData.put("favFoods", Arrays.asList("Hamburger", "Vegetables"));
db.collection("data").document("one")
.set(docData)
.addOnSuccessListener(new OnSuccessListener<Void>()
@Override
public void onSuccess(Void aVoid)
Log.d(TAG, "DocumentSnapshot successfully written!");
)
.addOnFailureListener(new OnFailureListener()
@Override
public void onFailure(@NonNull Exception e)
Log.w(TAG, "Error writing document", e);
);
或者,您也可以使用arrayUnion
将新项目添加到数组中。
DocumentReference docRef = db.collection("col").document("docId");
docRef.update("favFoods", FieldValue.arrayUnion("Pizza"));
您可以在 Firestore 中添加对象数组(甚至是嵌套地图)。但是,您应该将数组添加为列表。
参考资料:
Cloud Firestore Data Types
Update elements in an array
【讨论】:
您好,@Dharmaraj 我更新了我的问题,请查看。 @TonyStark 您可以添加一个对象数组...只需将arr
放入哈希图中即可。 iirc 您需要将其转换为文档中的列表。
您能否按照评论中所说的那样编辑您的答案。
更新了答案??。
如果我想访问它,我该怎么做?以上是关于如何在 Android Studio Java 中将数组上传到 Firestore 数据的主要内容,如果未能解决你的问题,请参考以下文章
如何解决Android studio生成javadoc文件乱码
如何在Android studio中使用java8 的Lambda表达式
如何在Android Studio中使用Java的应用程序后台执行HttpURLConnection之类的任务?
如何从 Android Studio 中片段的 XML 布局导航到相应的 java 类?