Дублировано: не найден сеттер / поле для класса - PullRequest
0 голосов
/ 25 июня 2018

Когда я пытался получить данные с помощью Firebase, у меня возникала такая проблема:

Нет никакого установщика / поля для 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 найдено в классе com.school.models.EmBeacon

вот мой список данных:

enter image description here

и это код для получения всех моих данных:

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

Есть идеи, что здесь не так?

1 Ответ

0 голосов
/ 25 июня 2018

Есть несколько маяков под /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());
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...