java - 使用 addlistnerForSingleValueEvent 从 firebase 检索数据时出错

标签 java android firebase firebase-realtime-database

这是我的构造函数类

public class selected_item {
    private String Items;
    public selected_item() {
    }

    public selected_item(String items) {
        this.Items = items;
    }

    public String getItems() {
        return Items;
    }
}

我的 mainActivity 给出为

db = FirebaseDatabase.getInstance().getReference();
db.child("Category").child(s).addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot)
    {
        selected_item Items =dataSnapshot.getValue(selected_item.class);
        System.out.println(Items);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
    }
});

我得到的输出是

I/System.out: com.strease.user.strease.selected_item@3945e4f

这不是必需的,而且也不存在于我的数据库中的任何位置。所需的输出应为鞋子

请帮我解决这个问题

最佳答案

您的对象没有 toString() 方法,因为 Java 在打印方法中为您提供了该对象的引用。

尝试打印 items 属性:

 System.out.println(Items.getItems());

您还可以重写toString()方法来打印可读的内容:

public class selected_item {
    private String Items;
    public selected_item() {
    }

    public selected_item(String items) {
        this.Items = items;
    }

    public String getItems() {
        return Items;
    }

       @Override
        public String toString() {
            return Items;
        }

    }

仍然是用户:

 System.out.println(Items);

关于java - 使用 addlistnerForSingleValueEvent 从 firebase 检索数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49300277/

相关文章:

java - 在 Java 的 ForkJoinTask 中,fork/join 的顺序重要吗?

java - 请求调度程序从表单中删除所有单词,但首先

Android 关机事件

ios - 当 firebase 数据库中的值发生变化时创建推送通知

arrays - 使用 Firebase 查询数组值

java - 无法安装 dotCMS

android - Dagger 不注入(inject) Activity

android - 如何在 Android 中使用密码保护应用程序

javascript - 如何在 Firebase 中更新用户个人资料?

java - 从类型删除的 Java 对象获取原始类