【问题标题】:Insert data into Firebase at a Preferred location在首选位置将数据插入 Firebase
【发布时间】:2017-02-09 11:01:43
【问题描述】:

以下是我的 Firebase 详细信息:

对话

-KcNOYKbVwSZGqyoD99W

-KcNOeYu1iX6VqVM5tIf

-KcNPLZdLBva3f2SqspR

-KcNQlp9H8hxAsS4otxz

-KcOOtlBsMqGhvyrnHS

当我插入数据时,它会从下面添加到数据库中。我需要在KcNPLZdLBva3f2SqspR节点下面添加数据。

通常,我使用下面的代码来添加数据:

final DatabaseReference imageref = FirebaseDatabase.getInstance().getReference().child("Message").child(data_contact.get(position).getChatadd()).child("Conversations");
String mydate = java.text.DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime());
Map<String, Object> map = new HashMap<String, Object>();
final String temp_key = imageref.push().getKey();
imageref.updateChildren(map);

DatabaseReference message_roottemp = imageref.child(temp_key);

Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("Text", "Ouch..");
map2.put("sender_name", data_contact.get(position).getCurrent_user());
map2.put("sender_photo", "");
map2.put("timestamp", mydate);
map2.put("message_status", "Saved");
map2.put("msg_type", "POKE");
message_roottemp.updateChildren(map2);

在所需节点下添加数据需要进行哪些修改?

我的用例是:在KcNPLZdLBva3f2SqspR 节点说,那里有一个图像 URL。用户会看到这个图像。所以我需要在这个节点下面发布数据,就像我将数据加载到 RecyclerView 时一样。图片和评论一个接一个地显示。

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    我不知道如何在另一个位置下方添加,并且我已经看到数据是以排序方式添加的(我不确定,所以请确认)。

    但是我可以给你一个更好的解决方案。

    您可能应该在数据库中为每个图像的属性创建一个子属性。

    例如:我有同样的情况。所以我创建了一个条目 对于我的数据库中具有随机名称的每个新图像。然后 从您的数据库中获取该名称以相同的方式上传图像 您的 Firebase 存储中的名称。

    你有它。无论您为图片上传了多少 cmets,您始终可以从保存所有图片属性的数据库中获取该条目。

    我知道这不是您的问题,但它可以解决您的问题。希望对您有所帮助。

    【讨论】:

    • 感谢您的回答...我选择了相同的 ....我没有找到解决方案,因此必须采用该实施方式...说 >> KcNPLZdLBva3f2SqspR >> 创建一个子节点,其中包含所有评论.....我想到了这个实现,但正在考虑替代解决方案
    • 没关系。在我看来,它是最好的解决方案。你不能那么依赖序列。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多