Я хочу получить данные, которые я сохранил в своей базе данных в реальном времени.
С точкой останова я вижу, что мой dataSnapshot
содержит хорошие значения.
Затем я хочу создать экземпляр объекта строки из полей dataSnapshot
(класс Line содержит поля x1
, y1
, x2
и y2
).
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (isDrawer()) {
return;
}
Line line = dataSnapshot.getValue(Line.class);
if (line != null) {
Log.i("cc", "Values : " + line.getX1() + " " + line.getX2() + " " + line.getY1() + " " + line.getY2());
addLine(line);
}
}
Моя проблема в том, что полученный мной линейный объект содержит x1 = 0, x2 = 0, y1 = 0, y2 = 0
вместо той же координаты, что и снимок.
Редактировать:
Моя текущая реализация строки довольно проста:
public class Line {
private float x1;
private float y1;
private float x2;
private float y2;
public Line() {
}
public Line(float x1, float y1, float x2, float y2) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
public Line(Line line) {
this.x1 = line.getX1();
this.x2 = line.getX2();
this.y1 = line.getY1();
this.y2 = line.getY2();
}
public float getX1() {
return x1;
}
public void setX1(float x1) {
this.x1 = x1;
}
public float getY1() {
return y1;
}
public void setY1(float y1) {
this.y1 = y1;
}
public float getX2() {
return x2;
}
public void setX2(float x2) {
this.x2 = x2;
}
public float getY2() {
return y2;
}
public void setY2(float y2) {
this.y2 = y2;
}
Я создаю ссылку на базу данных следующим образом:
databaseReference = database.getReference("draws/unique_draw");
И я храню свои данные так:
databaseReference.push().setValue(line);
@ Алекс Мамо
Вот предварительный просмотр моих данных (строк)
Почему?