如何生成firebase uid

时间:2016-06-13 11:33:27

标签: android firebase firebase-realtime-database

我正在尝试将数据(而不是用户)存储在Firebase后端中。如何生成Firebase唯一标识并将其存储在子项中?我一直使用firebase(DatabaseReference Key)作为记录螺母的唯一标识符,键为空。

2 个答案:

答案 0 :(得分:7)

您可以使用push().getKey()获取唯一键

FirebaseDatabase database = FirebaseDatabase.getInstance();
String key = database.getReference("todoList").push().getKey();

Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put( key, todo.toFirebaseObject());
database.getReference("todoList").updateChildren(childUpdates, new DatabaseReference.CompletionListener() {
    @Override
    public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
        if (databaseError == null) {

        }
    }
});

更新特定字段部分

下的docs对此进行了说明
  

此示例使用push()在包含帖子的节点中创建帖子   对于所有用户/ posts / $ postid并同时检索密钥   使用getKey()。然后可以使用密钥创建第二个条目   用户在/ user-posts / $ userid / $ postid。

的帖子

答案 1 :(得分:0)

FirebaseDatabase database = FirebaseDatabase.getInstance();
String key = database.getReference("todoList").push().getKey();

Map<String, Object> childUpdates = new HashMap<>();
childUpdates.put( key, todo.toFirebaseObject());
database.getReference("todoList").updateChildren(childUpdates, new DatabaseReference.CompletionListener() {
    @Override
    public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
        if (databaseError == null) {

        }
    }
});