当前位置: 首页 > 面试题库 >

获取随机值android firebase java

长孙深
2023-03-14
问题内容

我想通过使用Java中的push()从列表中获取随机数。

这是存储数据的代码:

                Firebase publRef = f.child("Language").child("German").child("Message");
                Firebase newPublRef = publRef.push();
                Map<String, Object> publ = new HashMap<String, Object>();
                publ.put("pubMsg", writeMsgField.getText().toString());
                newPublRef.setValue(publ);

这是我的firebase数据库中的样子:

Language
   German
      Message
        -Jf6ShYy7niHrqg_x4Tc: "Tomorrow is very windy"
        -Jf9v0xHAxINUUANrORU: "Today is very windy and rainy"

这是我检索数据的方式:

        Firebase f = new Firebase("https://myapp.firebaseio.com/Language/German/Message/");             
    f.addValueEventListener(new ValueEventListener() {

        public void onDataChange(DataSnapshot snapshot) {
            disp_msg = (TextView)findViewById(R.id.display_msg);
            //disp_msg.setText(snapshot.getValue().toString());
            Iterable<DataSnapshot> ds = snapshot.getChildren();
            Iterator<DataSnapshot> ids = ds.iterator();
            Map<String, Object> newPost = (Map<String, Object>) ids.next().getValue();
            String msg = newPost.get("pubMsg").toString();
            disp_msg.setText(msg.toString());

        }

我想在数据库中检索一个随机值。例如。获取随机值,它可以是“明天非常多风”或“今天非常多风和多雨”。

你们能为我提供一些我可以在Java中使用的信息的帮助吗,但是我仍然没有其他语言的经验。先感谢您。

解决了

        //getting maximum number of children
        long allNum = snapshot.getChildrenCount();
        int maxNum = (int)allNum;

        //getting the random integer from number of children
        int randomNum = new Random().nextInt(maxNum);

        int count = 0;

        //has next will check the next value while count is used as a position substitute.
        while(ids.hasNext() && count < randomNum) {
            ids.next();
            count ++; // used as positioning.
           }

问题答案:

在数据库中找出可能的值(数字)的数量,然后在

int random = new Random().nextInt(numvals);

并在数据库中选择第“ random”项。



 类似资料:
  • 问题内容: 我有一个生成事实的简单应用。我想合并一个生成随机事实而不是递减的函数。 我的数组看起来像这样。 问题答案: 使用随机类。该类有一个方法,(doc)和引号: 返回一个伪随机数,它从此随机数生成器的序列中提取,在0(含)和指定值(不含)之间均匀分布的int值。nextInt的一般约定是伪随机生成并返回指定范围内的一个int值。所有n个可能的int值均以(近似)相等的概率产生。 因此,您需要

  • 我想通过在Java中使用push()从列表中获得一个随机。

  • 问题内容: 考虑: 如何使用JavaScript从此数组中选择随机值? 问题答案: 这是一个简单的单线 例

  • 问题内容: 好的,我在代码中实现了这个SO问题:随机返回True或False 但是,我的行为很奇怪:我需要同时运行十个实例,每个实例每次运行仅返回一次true或false。令人惊讶的是,无论我做什么,每次我得到 有什么方法可以改善这种方法,以便我至少有大约50%的机会得到吗? 为了使它更易于理解:我将应用程序构建为JAR文件,然后通过批处理命令运行 程序的内容-使其尽可能简单: 如果我打开10个命

  • 问题内容: 我正在寻找最好的方法(快速而优雅)来获取python中的随机布尔值(翻转硬币)。 目前,我正在使用或。 有我不知道的更好的选择吗? 问题答案: 亚当的答案相当快,但是我发现答案要快得多。如果您真的想要布尔值而不是long值,那么 仍然是两倍的速度 两种解决方案都需要 如果最大的速度不是优先考虑的话,那么阅读肯定会更好 在看到@Pavel的答案后添加了此内容

  • 问题内容: 我有一个数组叫做 我需要从该数组中获取一个随机值并将其存储在变量中,我该怎么做? 问题答案: 您还可以执行以下操作: 当您有关联数组时,这就是这样做的方法。