gpt4 book ai didi

java - 我想获得 Push() 生成的唯一 ID

转载 作者:行者123 更新时间:2023-12-02 11:17:00 25 4
gpt4 key购买 nike

我倾向于 Firebase。

我将一些数据推送到数据库中,如下所示

 -test

-LBpjFMIPq-kQWyBmqf7

-str : value-a

但是 dataSnapshot.getKey() 总是获取存储库的名称“test”。

如何获得push()创建的唯一id?

在本例中,唯一 ID 为 LBpjFMIPq-kQWyBmqf7。

package com.example.happy.firebasetest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;


public class MainActivity extends AppCompatActivity {
String key;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference ref1 = database.getReference("test");

ref1.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
key = dataSnapshot.getKey();
System.out.println(key);
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});
}
}

所以关键

最佳答案

尝试以下操作:

ref1.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
key = datas.getKey();
System.out.println(key);
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

您需要在 push() 键内循环,然后使用方法 getKey() 检索源位置(即唯一 ID)。

关于java - 我想获得 Push() 生成的唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50200719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com