Прямо к коду. У нас есть два класса:Realm для Android: Храните объект не RealmObject внутри объекта RealmObject
class Rocket extends RealmObject
{
@PrimaryKey
private long id;
private String name;
private Payload pl;
}
class Payload
{
private String name;
private double mass;
}
Как хранить ракету в царстве?
- Я мог бы вручную сериализовать полезную нагрузку в виде строки, а затем сохранить ее вместе с Rocket. Но он медленный.
- Я мог бы расширить полезную нагрузку из RealmObject и сохранить ее в таблице. Но если я это сделаю, я должен удалить полезную нагрузку каждый раз, когда удаляю родительский Rocket. Это определенно не вариант, поскольку модель становится действительно грязной и сложной.
Я могу реализовать интерфейс Serializable или Parcelable, если он требует от меня, но мне действительно нужно сохранить свой объект в Царство.
спасибо.
Благодарим вас за ответ. Мне не нужно каскадировать удаление родственников. Мне просто нужно сохранить структуру (класс с несколькими переменными-членами) внутри этого объекта db. Я мог бы реализовать интерфейс Serializable, если бы это было необходимо. Cascade delete является одним из нескольких вариантов реализации аналогичной функции путем хранения пользовательских RealmObjects. Но для этого должен быть более простой способ. Im разочаровал TBH. Но все же это хорошая БД. (Отмечено как принято, поскольку я не думаю, что есть более простой способ делать то, что я хочу.) – atomontage
А, я вижу. Если вы [посмотрите этот ответ, который я оставил ранее, и комментарий от Christian Melchior] (http://stackoverflow.com/a/35592653/1217087), вы увидите, что пользовательские getters/seters (т.е. 'setPayload (полезная нагрузка p) ', где частный член является' String') в настоящее время не поддерживается, _but_ входят в 0.88. Таким образом, вы можете реализовать свою логику serialize/deserialize там, как только будет выпущено 0.88 (сейчас я вижу бета-снимок. –
бета-снимок с поддержкой настраиваемых сеттеров/геттеров пока недоступен (5 февраля 2016 1:15 UTC). Но это очень скоро. См. Статус https://github.com/realm/realm-java/pull/2196 – beeender