java - Java - 线程不处理带有领域数据库的改造
问题描述
当我尝试使用改造从 API 获取数据并将其保存在领域数据库中时,我的问题发生了。注意:此步骤运行良好,数据保存在“objectrealm”中。但是当我尝试处理线程以保持 API syn 在后台工作时没有任何反应,我尝试更改数据但 realm.onChange 不更新日志。
这是我的代码:
演示者层:
compositeDisposable.add(INSTANCE_API_SERVICE.loadItems("Amman")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<ResultModel>() {
@Override
public void accept(final ResultModel resultModel) throws Exception {
ARRAYS = resultModel.getCountryModels();
Realm.init(context);
Realm realm = Realm.getDefaultInstance();
try {
// Do some network calls/etc and get some data and stuff it into a 'json' var
realm.beginTransaction();
realm.commitTransaction();
// At this point, the data in the UI thread is already up to date.
// ...
} finally {
realm.close();
}
}
这是我在 MainActivity 的代码:
Realm.init(getApplicationContext());
// ... boilerplate omitted for brevity
realm = Realm.getDefaultInstance();
// get all the customers
customers = realm.where(CountryModel.class).findAllAsync();
//realm.beginTransaction();
customers.addChangeListener(new OrderedRealmCollectionChangeListener<RealmResults<CountryModel>>() {
@Override
public void onChange(RealmResults<CountryModel> countryModels, OrderedCollectionChangeSet changeSet) {
Log.e("Maher",countryModels.get(5).getCity());
}
});
注意:当我返回时,领域会打印更改数据,但不会在后台或实时更改中打印。
解决方案
推荐阅读
- reactjs - 将 split.js 与 React 组件一起使用
- php - PHP MySQL检测是否同一个用户已经登录
- jquery - Angular 找不到模块?
- aws-api-gateway - AWS API Gateway 开发人员门户显示单个阶段的两个链接
- tinymce-5 - 在 TinyMCE 编辑器中处理格式化命令
- python - Assigning Values Depending on a Condition
- extjs - ExtJs 3.4 在 xtype 中显示错误文本字段:'textfield' (MODx)
- ios - 如何在 sprite kit 中引用多个同名的 sprite?
- wordpress - 如果不存在则创建新帖子
- python-3.x - 无法使用 selenium 登录到 Outlook