База данных Firebase в реальном времени игнорирует некоторые значения - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть приложение для Android и база данных в реальном времени.У меня есть класс с именем Game, свойства которого описаны ниже.Недавно я решил добавить новое свойство с именем likes, но когда я прочитал снимок, все поля были прочитаны, кроме нового поля likes

Почему это поведение?

enter image description here

data class Game (
    val id: String? = null,
    val title: String? = null,
    val release_date: String? = null,
    val gender: String? = null,
    val image: String? = null,
    val description: String? = null,
    val rating: Long? = null,
    var likes: Long? = null,
    var liked: Boolean? = null,
    val video: String? = null,
    val plataformas: String? = null
)

private val gamesVEL : ValueEventListener by lazy {
    object : ValueEventListener{
        override fun onCancelled(databaseError: DatabaseError) {}

        override fun onDataChange(dataSnapshot: DataSnapshot) {
            Log.d("firebase","jejejejje")
            juegos.clear()
            dataSnapshot.children.forEach {
                val game = it.getValue(Game::class.java)
                juegos.add(game!!)
            }
            queryStars.addListenerForSingleValueEvent(starsVEL)

        }

    }
}

ОБНОВЛЕНИЕ

Установка на новом устройстве решает проблему, но не на старых устройствах.Я имею в виду, если я установил приложение до того, как поле likes все еще будет пропущено.

1 Ответ

0 голосов
/ 15 ноября 2018

Я прочитал снимок, все поля были прочитаны, кроме новых лайков

Это только происходит, когда вы используете приложение на устройствах с более старыми версиями вашего приложения.

Почему это поведение?

Это происходит потому, что более ранние версии вашего приложения не содержат обновленную версию вашего Game класса, который содержит это новое добавленное поле likes. Другими словами, старая версия может только читать и записывать свойства, о которых известно.

Чтобы решить эту проблему, вы должны обновить старую версию до нового veriosn, чтобы он мог видеть новое добавленное свойство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...