【发布时间】:2017-01-10 17:19:03
【问题描述】:
【问题讨论】:
-
你能附上你正在尝试的整个代码吗?
标签: android firebase firebase-realtime-database
【问题讨论】:
标签: android firebase firebase-realtime-database
根据你的问题,你可以使用这个:
对于安卓:
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("posts");
String key = myRef.push().getKey(); //this returns the unique key generated by firebase
myRef.child(key).child("author").setValue("gracehop");//this creates the reqs key-value pair
myRef.child(key).child("title").setValue("Announcing COBOL");//this creates the reqs key-value pair
对于网络开发人员:
var messageListRef = firebase.database().ref('posts');
var newMessageRef = messageListRef.push();
newMessageRef.set({
'author': 'gracehop',
'title': 'Announcing COBOL'
});
【讨论】:
你可以这样做
String key = ref.push().getKey();
ref.child(key).setValue(post);
希望这能回答你的问题:)
【讨论】:
如果您想检索随机密钥,那么您应该使用addChildEventValueListerner,因为它会一一为您提供 posts 节点的子节点。
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference mref = firebaseDatabase.getReference();
mref.child("posts").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.hasChildren()) {
String value = dataSnapshot.getValue(String.class);
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
【讨论】:
如果您知道任何字段的数据,假设您知道作者的姓名,那么您可以检索键/键(如果多个作者具有相同的姓名)。这里描述的很清楚:https://stackoverflow.com/a/38232280/5129997
【讨论】: