例如,我想在 RMD 中进行 CURD,然后同步到 ROS。
当它离线时,我可以在 RMD 中获取数据。
以及如何将整个 RDM 同步到 ROS?
这是我的代码:
SearchModel
RealmUtils.getInstance()
.where(Book.class).equalTo("isbn13", isbn)
.findAllAsync().<Book>asObservable()
.subscribe(books -> apiListener.onSuccess(books.size() > 0),
throwable -> apiListener.onFailure(throwable.getMessage()));
插入模型
RealmUtils.getInstance().asObservable()
.subscribe(realm ->
{
Book book = realm.createObject(Book.class);
book.isbn13 = bookInfoResponse.getIsbn13();
book.title = bookInfoResponse.getTitle();
book.subtitle = bookInfoResponse.getSubtitle();
book.publisher = bookInfoResponse.getPublisher();
book.authors = bookInfoResponse.getAuthors();
book.translators = bookInfoResponse.getTranslators();
book.pubdate = bookInfoResponse.getPubdate();
book.pages = bookInfoResponse.getPages();
book.origin_title = bookInfoResponse.getOrigin_title();
book.image = bookInfoResponse.getImages().getLarge();
book.summary = bookInfoResponse.getSummary();
book.infoString = bookInfoResponse.getInfoString();
apiListener.onSuccess(true);
}, throwable -> apiListener.onFailure(throwable.getMessage()));
删除模型
RealmUtils.getInstance()
.where(Book.class).equalTo("isbn13", isbn)
.findAllAsync().<Book>asObservable()
.subscribe(books ->
{
books.deleteAllFromRealm();
apiListener.onSuccess(false);
}, throwable -> apiListener.onFailure(throwable.getMessage()));
这会导致java.lang.IllegalArgumentException: Configurations cannot be different if used to open the same file.
我该怎么办?