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

如何使用Java / Android从Firebase ONCE读取数据?

裴浩歌
2023-03-14
问题内容

我正在尝试在onCreate()事件中使用Java
API从Android应用程序中的Firebase数据库读取数据。换句话说,我正在尝试做最简单的阅读,相当于…

ref.once('value', function(snapshot) {

});

…在Javascript
API中。我正在尝试使用addEventListenerForSingleValueEvent()方法,但似乎要我重写onDataChange()方法,这不是我想要的。我想在程序执行到此行时获取数据,而不管数据库事件如何。这是我的(未完成)功能。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.poll_table);

        // First get the table layout
        tbl = (TableLayout) findViewById(R.id.pollsTable);

        // Now let's create the header
        TableRow tHead = createPollsTableHeader();

        // Add header to tableLayout
        tbl.addView(tHead, new TableLayout.LayoutParams(
                LayoutParams.MATCH_PARENT,
                LayoutParams.WRAP_CONTENT));

        // Add all polls in ref as rows
        polls.addListenerForSingleValueEvent(new ValueEventListener() {
            // DON'T KNOW WHAT TO DO HERE

        }
    }

我什至不认为这是正确的方法。我只是希望能够获得一个Datasnapshot,我可以对其进行迭代并从中取出数据,例如…

for (Datasnapshot child : datasnapshot) {
}

就像我ref.once('value', function(snapshot)在Javaxcript API 中使用该事件一样。


问题答案:

那是正确的方法,而且您处在正确的轨道上。命名有点混乱(对不起!)。如果您执行addListenerForSingleValueEvent,将使用DataSnapshot完全按一次调用您覆盖的onDataChange方法,就像您希望的一样(就像“
ref.once(’value’…)”一样)。

因此,您应该能够:

// Add all polls in ref as rows
polls.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot snapshot) {
        for (DataSnapshot child : snapshot.getChildren()) {
            ...
        }
    }
}


 类似资料:
  • 问题内容: 我在终端中使用“ adb shell getprop”。我可以在Android JAVA中使用哪些接口来获取相同的信息? 我已经尝试了几种方法,例如: 但是我不认为这些是我想要的相同属性吗?具体来说,我想查找将返回类似于以下内容的值: shell’grep dolby’命令返回以下内容: 但是我想以Android JAVA代码访问此信息。 有任何想法吗? 问题答案: System.ge

  • 问题内容: 我已经搜索了stackoverflow,但是没有找到明确的答案。如何将数据从XLS文件的特定行和列读取到我的Android应用程序?如何读取XLS文件?我不想将其转换为CSV,因为在尝试将其转换时出现错误。 也许我可以使用此http://www.andykhan.com/jexcelapi/tutorial.html#reading,但我什至不知道如何将其导入到我的项目中。请帮忙。 问

  • 问题内容: 我已经创建了可执行的jar文件(使用Eclipse),在jar中包含一组图像(.png)文件。所以我添加了一个源文件夹,其中所有图像都位于项目的文件夹中。代码必须访问这些文件才能使用创建BufferedImage 较早前,为了获得我使用的路径 在执行jar时,它抛出错误 URI不是分层的 所以现在我正在使用 但是如何使ImageIO从Inputstream读取?我试过如下 抛出错误 I

  • 问题内容: 我正在尝试将数据从一页传递到另一页。 www.mints.com?name=某物 如何使用JavaScript 阅读? 问题答案: 下面的a代码可以工作,并且在不可用的情况下仍然有用,但是它是在JavaScript中没有本机解决方案的时候编写的。在现代浏览器或Node.js中,更喜欢使用内置功能。 用法如下: 它返回一个像这样的对象: 所以 给

  • 本文向大家介绍如何使用JavaScript从* .CSV文件读取数据?,包括了如何使用JavaScript从* .CSV文件读取数据?的使用技巧和注意事项,需要的朋友参考一下 要使用JavaScript读取.CSV,请使用开源CSV解析器Papa Parser。以下是功能- 开源的 使用多线程CSV解析器解析数百万个数据 支持多种网络浏览器 使用解析器,您可以轻松地跳过注释字符 假设您的CSV文件

  • 我将使用Apache Camel编写一个CRUD应用程序,非常像下面的示例:http://java.dzone.com/articles/rest-apache-camel 但我想使用JPA,而不仅仅是JDBC。 我看过Camel JPA组件,认为我可以使用它。但要从数据库中读取数据,它需要我定义一个消费者endpoint。 我想从JDBC示例中执行以下操作: 即调用JPA组件作为生产者。 这可能