Ограничения для пользовательских объектов, поддерживаемых Google FireStore? - PullRequest
0 голосов
/ 21 ноября 2018

Я использую Google FireStore для бэкенда моего приложения для Android.Приложение имеет пользовательский класс User.Как указано в документации, этот пользовательский класс имеет открытый конструктор без аргументов (и один с аргументами), а также метод получения для каждой переменной.

Одна из этих переменных - LinkedList<String>.Я могу загрузить User объекты без проблем в FireStore, но получение их через

User u = document.toObject(User.class);

вызывает следующую ошибку, обнаруженную в logcat:

java.lang.IllegalArgumentException: field ase.liongps.utils.User.searches has type java.util.LinkedList, got java.util.ArrayList

Мне интересно, может ли Google FireStore мутировать объекты, когда он хранит их в облаке, или что-то из-за того, как я пытался создать локальный объект User, вызвало эту проблему.Эта ошибка в настоящее время приводит к сбою моего приложения, поэтому любые советы или пожелания приветствуются!

1 Ответ

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

Вы получаете следующую ошибку:

java.lang.IllegalArgumentException: поле ase.liongps.utils.User.searches имеет тип java.util.LinkedList, получил java.util.ArrayList

Из-за несовместимых типов объектов LinkedList и ArrayList.Чтобы решить эту проблему, измените тип данных вашего объекта с LinkedList на ArrayList и закажите элементы на стороне клиента.

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