gpt4 book ai didi

android - 如何从 Firebase 数据库中获取随机对象?

转载 作者:行者123 更新时间:2023-11-30 00:51:14 26 4
gpt4 key购买 nike

我正在尝试从 Firebase 数据库中获取引述和作者。目前数据库设置如下:

    [{
"quotes": [{
"quote":"Some quote.",
"author": "Some author."
},{
"quote":"Some quote.",
"author": "Some author."
}]
}]

我想要的是随机引用和作者,并将它们存储在自己的变量中以显示在 TextView 中。感谢大家的帮助,即使您只是为我指明了正确的方向。

最佳答案

不幸的是,在 Firebase 中无法从列表中获取随机值。但是,您可以获取列表的大小并使用 Random 类生成介于 0 和列表大小之间的 int,并将其用作索引,然后您在列表中迭代,直到索引随机生成。

这是一个如何做到这一点的例子:

Quote.class的内容:

class Quote {
String quote;
String author;
}

获取随机报价的方法:

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("quotes");
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot != null) {
Random random = new Random();
int index = random.nextInt((int) dataSnapshot.getChildrenCount());
int count = 0;
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
if (count == index) {
Quote quote = snapshot.getValue(Quote.class);
doSomethingWithYourQuote(quote);
return;
}
count++;
}
}
}

@Override
public void onCancelled(DatabaseError databaseError) {

}
});

关于android - 如何从 Firebase 数据库中获取随机对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41005976/

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