Android Realm не сохраняет переменную в базе данных

Я создал модальный класс

@RealmClass
class Temp extends RealmObject{

    var1
    var2
    var3

    getter setter of all above variables.
}

и сохранить эти данные в базу данных

Temp temp = database.createObject(Temp.class);
temp.setVar1("var1");
temp.setVar1("var2");
temp.setVar1("var3");
database.commitTransaction();

Сохранил код и запустил приложение, и это сработало.

Через несколько дней я добавил новую переменную в класс Temp и попытался сохранить ее в базе данных, ошибки не было, но когда я извлекаю данные из базы данных, она всегда показывает новую переменную (var3) null.


person Amit Singh Kaira    schedule 26.10.2015    source источник
comment
Вы извлекли данные из того же потока?   -  person zaki50    schedule 26.10.2015


Ответы (2)


Ваш класс модели должен расширять RealmObject, то есть:

class Temp extends RealmObject {

}
person geisshirt    schedule 26.10.2015
comment
Открытый класс @RealmClass ChatModel расширяет RealmObject{ } - person Amit Singh Kaira; 26.10.2015
comment
Да, мой класс расширяет RealmObject. Можете ли вы, когда наступает сценарий, когда область не сохраняет переменную в базе данных. - person Amit Singh Kaira; 26.10.2015
comment
Если var3 является строкой, а поле не помечено @Required, null является идеальным допустимым значением. - person geisshirt; 26.10.2015
comment
Он показывает синтаксическую ошибку в @Required (Required не может быть преобразован в тип) - person Amit Singh Kaira; 26.10.2015
comment
Пожалуйста, поделитесь классом модели, иначе это будут только догадки. - person geisshirt; 26.10.2015
comment
Открытый класс @RealmClass ChatModel расширяет RealmObject{ - person Amit Singh Kaira; 27.10.2015
comment
Можете ли вы поделиться остальным классом? - person geisshirt; 27.10.2015

вам нужно начать транзакцию впереди или использовать executeTransaction, где обрабатываются как начало, так и фиксация транзакции.

person Remario    schedule 29.06.2017