Firebase toObject с ref - PullRequest
       3

Firebase toObject с ref

0 голосов
/ 24 мая 2018

Облачный Firestore позволяет преобразовать документ в ваш объект с помощью document.toObject(YourClass.class);, где переменные класса совпадают с переменными в вашей базе данных.Однако, если одна из переменных в базе данных является ссылкой, какой тип данных вы бы использовали в классе Java?Обратите внимание, что мне нужно не только сохранить его в моей модели данных, но также извлечь и установить его с помощью методов переопределения вида:

protected MyDataModel(Parcel in) {
    mString = in.readString();
}

и

@Override
public void writeToParcel(Parcel parcel, int i) {
    parcel.writeString(mString);
}

Если я используюDocumentReference, то в writeToParcel (), как бы я это написал?Кроме того, как бы я прочитал это в защищенном конструкторе Parcel in?Я пробовал writeSerializable() и readSerializable(), но DocumentReference не реализует Serializable.

Ответы [ 2 ]

0 голосов
/ 24 июня 2018

Если вам нужно сериализовать DocumentReference, используйте метод getPath () , чтобы получить строку, описывающую местоположение документа в базе данных.Чтобы десериализовать эту строку пути обратно в DocumentReference, используйте FirebaseFirestore.getInstance (). Document (path) .

Когда у вас есть подобные преобразования, иногда удобнее написать всекод, а не использование встроенной сериализации объектов, предоставляемой Firestore SDK.

0 голосов
/ 24 мая 2018

Я еще не использовал Java API, но думаю, вы захотите использовать тип DocumentReference.Вот некоторые ссылки в документации Firebase:
DocumentReference
CollectionReference
getDocumentReference

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