В настоящее время версия Google ServerValue.TIMESTAMP
возвращает {".sv":"timestamp"}
, которая используется в качестве директивы для Firebase для заполнения этого поля меткой времени сервера после сохранения данных на сервере Firebase.
Однако, когда вы создаете свои данные на стороне клиента, у вас нет фактической метки времени для воспроизведения (т.е. использовать в качестве даты создания). У вас будет только доступ к отметке времени после первоначального сохранения и последующего поиска, что, я думаю, иногда слишком поздно и не очень изящно.
Перед Google:
Обновление: игнорировать этот раздел, поскольку он неправильный - я неправильно понял примеры. ServerValue.TIMESTAMP
всегда возвращал {".sv":"timestamp"}
.
Насколько я понимаю, в предустановленной Firebase появилась доступная на сервере отметка времени, которая позволила вам получить фактическую метку времени:
import com.firebase.client.ServerValue;
ServerValue.TIMESTAMP // eg. 1466094046
Вопросы:
- Является ли такое сохранение/извлечение единственным способом получить дату создания сервера в экземплярах моей модели?
- Если да, вы можете предложить метод реализации такого шаблона?
- Я правильно понимаю ServerValue.TIMESTAMP изменился с приобретением Google Firebase? Обновление: Нет, @FrankvanPuffelen ответил, что во время приобретения ничего не изменилось.
Примечание:
Я не рассматриваю возможность использования new Date()
на стороне клиента, поскольку я читал его небезопасно, хотя, пожалуйста, поделитесь своими мыслями, если вы считаете, что разные.