Я использую Realm для Android.Объект Realm не доступен, когда область закрыта. Android
У меня есть вопрос (не очень большая проблема), у меня есть эти строки кода:
Account account;
....
realm = Realm.getDefaultInstance();
account = realm.where(Account.class).findFirst();
realm.close();
if (account.getJid().equals(mUser.getText().toString())) { // User is the same as logged before
launchLogin(mUser.getText().toString().split("@")[0],mPassword.getText().toString());
}
Если я запустить приложение, когда выполнение прибывает в IF заявление, это крах, потому что account
объект делает nt существует. Даже если существуют учетные записи в db. Но если переместить realm.close()
внутри IF, то после запуска launchLogin (..), он работает.
Я понимаю, что учетная запись «исчезает», когда я закрываю область db. и я могу получить реальную проблему в будущем.
Так что я хочу знать, как я могу сделать «постоянным» этот тип проблемы. Я имею в виду, закрывать область после запросов, и объект все еще существует после него.
Я всегда чувствую, что я не могу копировать элементы из базы данных с нулевой копией, поэтому я специально не сделал этого, t включить опцию использования 'copyFromRealm' в моем ответе. : P Но да, это также «решает» ближайшую проблему. – EpicPandaForce
Хм .. ОК, я понимаю. То, что действительно нужно для этого действия, - это проверить, что у меня есть учетная запись (она должна быть 1 в момент времени. Возможно, в будущем больше). Вот почему мне не нужна функция автоматического обновления. Но я буду учитывать @EpicPandaForce ответ для функций nex. Спасибо, товарищи – Shudy