簡體   English   中英

重復的:在課堂上找不到二傳手

[英]Duplicated : No setter/field for found on class

當我嘗試使用Firebase獲取數據時,出現了以下問題:

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

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

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

這是我的數據結構:

在此處輸入圖片說明

這是獲取我所有數據的代碼:

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 + '\'' +
                '}';

知道這里有什么問題嗎?

/beacons beacons下有多個信/beacons ,因此您需要在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());
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM