将数据插入首选位置的Firebase

时间:2017-02-08 14:38:03

标签: android firebase firebase-realtime-database

以下是我的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中一样。图像和评论一个接一个地显示出来。

1 个答案:

答案 0 :(得分:0)

我不知道在下面添加另一个位置,因为我看到数据是按照排序方式添加的(我不确定所以请确认)。

但我可以为你提供更好的解决方案。

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

  

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

你有它。无论您为图像上传了多少条评论,都可以随时从数据库中获取该条目,以保留所有图像属性。

我知道这不是你的问题,但它是你问题的解决方案。希望它有所帮助。