我将图像Uri保存到数组中。现在,我正在尝试将那些Uri保存到数据库中。使用下面的代码,它每次都会创建一个新的ID。但是,我希望将其全部保存在一个ID下。
ArrayList<String> imageDUrlString = new ArrayList<>();
for (int i = 0; i < arrayuri.size(); i++) {
imageDUrlString.add(arrayuri.get(i).toString());
}
Map<String, Object> map = new HashMap<>();
map.put("imageDownloadUrl", imageDUrlString);
DatabaseReference dbRefLicenseDoc = FirebaseDatabase.getInstance().getReference();
dbRefLicenseDoc.child(FirebaseAuth.getInstance().getUid()).child(postId)
.updateChildren(map);
上面的代码会产生以下结果:
---User ID
---Random ID
----imageDownloadUrl
---- 0:"[https://firebasestorage.googleapis.com/ image1
---Random ID
----imageDownloadUrl
---- 0:"[https://firebasestorage.googleapis.com/ image2
---Random ID
----imageDownloadUrl
---- 0:"[https://firebasestorage.googleapis.com/ image3
有没有办法使所有Uri都像这样的用户ID下的固定ID?
---User ID
----imageDownloadUrl
---- 0:"[https://firebasestorage.googleapis.com/ image1
---- 1:"[https://firebasestorage.googleapis.com/ image2
---- 3 :"[https://firebasestorage.googleapis.com/ image3
我很感谢任何建议
答案 0 :(得分:0)
HashMap<String,String> imageDUrlString = new HashMap<>();
DatabaseReference dbRefLicenseDoc = FirebaseDatabase.getInstance().getReference();
dbRefLicenseDoc.child(FirebaseAuth.getInstance().getUid()).child("imageDownloadUrl");
for (int i = 0; i < arrayuri.size(); i++) {
imageDUrlString.put( dbRefLicenseDoc.push().getKey(),arrayuri.get(i).toString());
}
dbRefLicenseDoc.updateChildren(map);
希望有帮助