重复的:在课堂上找不到二传手 [英] Duplicated : No setter/field for found on class

查看:55
本文介绍了重复的:在课堂上找不到二传手的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我尝试使用Firebase获取数据时,出现此问题:

When I try to get the data using Firebase I got this issue:

在com.school.models.EmBeacon类上找不到0C:F3:EE:12:E0:4C的设置器/字段

No setter/field for 0C:F3:EE:12:E0:4C found on class com.school.models.EmBeacon

在com.school.models.EmBeacon类上找不到0C:F3:EE:12:E0:5C的设置器/字段

No setter/field for 0C:F3:EE:12:E0:5C found on class com.school.models.EmBeacon

在com.school.models.EmBeacon类上找不到0C:F3:EE:12:E0:E5的设置器/字段

No setter/field for 0C:F3:EE:12:E0:E5 found on class com.school.models.EmBeacon

这是我的数据结构:

这是获取我所有数据的代码:

and this is the code to get all my data:

mDatabase.child("beacons").addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                EmBeacon mBeacon = dataSnapshot.getValue(EmBeacon.class);
                Log.i(TAG, "onDataChange: "+mBeacon);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                Log.w(TAG, "onCancelled:", databaseError.toException());
            }
        });

和班级:

public class EmBeacon {

    private String proximityUuid;
    private int major;
    private int minor;
    private String addressMac;

    public EmBeacon() {
    }

    public EmBeacon( String addressMac) {
        this.addressMac = addressMac;
    }

    public EmBeacon(String proximityUuid, int major, int minor, String addressMac) {
        this.proximityUuid = proximityUuid;
        this.major = major;
        this.minor = minor;
        this.addressMac = addressMac;
    }

    public String getProximityUuid() {
        return proximityUuid;
    }

    public void setProximityUuid(String proximityUuid) {
        this.proximityUuid = proximityUuid;
    }

    public int getMajor() {
        return major;
    }

    public void setMajor(int major) {
        this.major = major;
    }

    public int getMinor() {
        return minor;
    }

    public void setMinor(int minor) {
        this.minor = minor;
    }

    public String getAddressMac() {
        return addressMac;
    }

    public void setAddressMac(String addressMac) {
        this.addressMac = addressMac;
    }

    @Override
    public String toString() {
        return "EmBeacon{" +
                "proximityUuid='" + proximityUuid + '\'' +
                ", major='" + major + '\'' +
                ", minor='" + minor + '\'' +
                ", addressMac='" + addressMac + '\'' +
                '}';
  

你知道这里有什么问题吗?

any idea what is wrong here ?

推荐答案

/beacons下有多个信标,因此您需要在onDataChange中循环遍历它们:

There are multiple beacons under /beacons, so you need to loop over them in your onDataChange:

mDatabase.child("beacons").addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        for (DataSnapshot beaconSnapshot: dataSnapshot.getChildren()) {
            EmBeacon mBeacon = beaconSnapshot.getValue(EmBeacon.class);
            Log.i(TAG, "onDataChange: "+mBeacon);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.w(TAG, "onCancelled:", databaseError.toException());
    }
});

这篇关于重复的:在课堂上找不到二传手的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆