如何从android中的firebase数据库中获取随机对象?

我正在开发一个Android应用程序,我需要从一个孩子的firebase中获取一个随机对象? 如何在java中做到这一点?

我就是这样做的,假设我有一个有n个对象的孩子:

如果我不知道n的值如何,我会先在我的监听器中执行此操作以获取对象的总数:

long n = dataSnapshot.getChildrenCount(); 

然后我会生成一个0到n之间的随机整数i。 如果你不知道如何做到这一点,谷歌吧。

最后,我会得到孩子的第i项:

  final ArrayList objects = new ArrayList<>(); for (DataSnapshot child : children) { MyObject object = child.getValue(MyObject.class); objects.add(object); } MyObject objectToUse = objects.get(i); 

“MyObject”显然应该是你正在使用的任何类。

我错过了什么吗? 有一个更好的方法吗? 我对Android很陌生,对Firebase来说也是新手,所以我要说的话就是用大量的盐哈哈。