Преобразование объекта Firebase в исключение hashmap [closed]

Я делаю онлайн-шахматы с firebase в реальном времени. у меня есть gameConnector класс для подключения игроков. Чтобы подключиться, я изменяю значение переменной, и другой игрок должен прослушивать это изменение с помощью ValueEventListener. Оба игрока используют один и тот же класс. Моя проблема в том, что значение всегда преобразуется в хэш-карту вместо желаемого (Move класс) тип.

public class GameConnector {

    private DatabaseReference reference;
    private ValueEventListener moveValueListener;

    public GameConnector(String gameId) {
        reference = FirebaseDatabase.getInstance().getReference("connections/"+gameId+"/moves");

        moveValueListener = new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot snapshot) {
                Object value = snapshot.getValue();
                if (value == null) return;

                Move move = (Move) value;
                // react to the move...
            }

            @Override
            public void onCancelled(@NonNull DatabaseError error) { }
        };
    }

    public void uploadMove(Move move) {
        reference.removeEventListener(moveValueListener);
        reference.setValue(move);
        reference.addValueEventListener(moveValueListener);
    }
}

Как я могу это исправить?

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *