Я пытаюсь пойти глубже в Царство, я использую его последние несколько дней в нашем проекте и не могу понять какое-то странное поведение, как для меня, в документации я не нахожу полезной информации, я смотрел в их образцы приложений, но все еще недостаточно информации, так что может кто-нибудь объяснить мне. Почему модель, возвращаемая Realm, пуста, в браузере отображаются правильные данные, но не в режиме отладки. Как понять поведение Realm на Android?
По образцу "интро пример", вот фрагмент кода:
private void basicCRUD(Realm realm) {
showStatus("Perform basic Create/Read/Update/Delete (CRUD) operations...");
// All writes must be wrapped in a transaction to facilitate safe multi threading
realm.beginTransaction();
// Add a person
Person person = realm.createObject(Person.class);
person.setId(1);
person.setName("Young Person");
person.setAge(14);
// When the transaction is committed, all changes a synced to disk.
realm.commitTransaction();
// Find the first person (no query conditions) and read a field
person = realm.where(Person.class).findFirst();
showStatus(person.getName() + ":" + person.getAge());
// Update person in a transaction
realm.beginTransaction();
person.setName("Senior Person");
person.setAge(99);
showStatus(person.getName() + " got older: " + person.getAge());
realm.commitTransaction();
// Delete all persons
realm.beginTransaction();
realm.allObjects(Person.class).clear();
realm.commitTransaction();
}
Я провел весь день. Моя главная проблема следующая, у меня есть один вид деятельности А внутри одного фрагмента с адаптером (позволяет говорить, что у него есть модель кролика и отображает его 4 моркови), после щелчка «+» на фрагменте я заменяю новым фрагментом, где я создаю 3 моркови , то после popBackStack() я не буду добавлять это 3 моркови к предыдущему 4.
Как это сделать: активность (имеет экземпляр Кролика, который имеет 4 моркови, сохраненным в Realm) ->Фрагмент A (4 моркови) ->Фрагмент B (получить экземпляр из Realm, морковь в пустой, почему я не буду добавлять 3 морковь и сохранить Realm мой кролик?) ->popBackStack ->OnCreateView Framgent A (получите Rabbit from Realm, адаптер попытается отобразить данные, но морковь пуста. Иди домой).
Вы должны использовать 'executeTransaction()' вместо 'начать/CommitTransaction()'. – EpicPandaForce