вот упрощенный код:
public class ExampleWebServer extends NanoHTTPD {
private Realm mRealm;
public ExampleWebServer() {
Log.d(TAG, Thread.currentThread()); // Main Thread
super(8080);
mRealm = Realm.getDefaultInstance();
}
@Override
public Response serve(IHTTPSession session) {
Log.d(TAG, Thread.currentThread()); // NanoHttpd Request Processor Thread
RealmModel example = mRealm.where(RealmModel.class).findFirst();
return NanoHTTPD.newFixedLengthResponse(example.toString());
}
@Override
public void stop() {
super.stop();
mRealm.close();
}
}
Ошибка - java.lang.IllegalStateException: Realm access from incorrect thread. Realm objects can only be accessed on the thread they were created.
В принципе источник проблемы понятен, но как работать с Realm в этом случае?
нууу, использовать свой реалм на каждый тред, 🤷♂️
Обсуждают сегодня