Android 용 Google Firebase 데이터베이스 SDK v9.0.1을 사용하고 있습니다. 내 애플 리케이션을 파이어베이스에 연결시켜 다양한 위치에서 데이터를 읽고 쓸 수있다.Firebase가 부울 값을 필드에 바인딩하지 않습니다.
그러나 dataSnapshot.getValue(PingReport.class)
을 사용하여 바인드 할 특정 부울 필드를 가져올 수 없으며 내 모델에 필드가 분명하게 존재할 때 No setter/field for isUp found on class com.myapp.PingReport
이라는 로그에 오류가 계속 발생합니다.
는 여기에서 중포 기지 데이터베이스에서 JSON을이다 :
{
"durationMs": 364,
"isUp": true,
"timestampMillis": 1464916019971
}
을 여기에 모델 클래스의 :
public class PingReport {
private long durationMs;
private boolean isUp;
private long timestampMillis;
public PingReport() {
// required by Firebase
}
public PingReport(long durationMs, boolean isUp, long timestampMillis) {
this.durationMs = durationMs;
this.isUp = isUp;
this.timestampMillis = timestampMillis;
}
public long getDurationMs() {
return durationMs;
}
public boolean isUp() {
return isUp;
}
public long getTimestampMillis() {
return timestampMillis;
}
}
내가 getDurationMs()
또는 getTimestampMillis()
올바른 값을 호출하는 경우가 반환되지만 값은 isUp()
에서 반환 항상 false
입니다. up
및 isUp
및 mUp
이라는 다양한 조합을 시도하고 설정자 setUp(boolean up)
및 setIsUp(boolean isUp)
을 추가하려고 시도했지만 아무 것도 작동하지 않는 것 같습니다. 안드로이드 SDK에 대한 문서는 자세하지 않습니다. 내가 간과하고있는 트릭이나 디테일이 있습니까?
게시 한 코드가 무엇이든지간에 문제가 없어야합니다. 나 자신도 아무런 문제없이 비슷한 POJO에서''boolean'을 사용했다. 값이 올바르게 전달되면 코드의 다른 부분을 확인하십시오. –