Sam*_*uel 2 android firebase firebase-realtime-database
我有一个数据库参考.
houseReference = FirebaseDatabase.getInstance().getReference("House");
Run Code Online (Sandbox Code Playgroud)
我使用以下命令向db添加项:
houseReference.push().setValue(house);
Run Code Online (Sandbox Code Playgroud)
Google firebase参考文档说您可以获取最后一项使用的密钥
houseReference.getKey();
Run Code Online (Sandbox Code Playgroud)
但是,这会回来House.我究竟做错了什么?
Firebase没有"最后一把钥匙"的概念.但每个DatabaseReference都是对数据库中路径的引用,并通过调用getKey()它获得该路径中的最后一个键.所以如果你houseReference.getKey()确实给你打电话house,那是因为那是它引用的路径中的最后一个键.
现在我们得到了好东西.
当您致电push()Firebase时(在客户端中)生成一个新的唯一键,并DatabaseReference在当前路径下返回一个新的指向该键的点.因此,houseReference.push()返回一个新DatabaseReference的,唯一的子位置.这意味着你可以调用getKey()这个新的DatabaseReference来获取新位置的最后一个键.
所以:
DatabaseReference newRef = houseReference.push();
System.out.println(newRef.getKey());
newRef.setValue(house);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
366 次 |
| 最近记录: |