대하여 반응성 패턴, 발표자
resume()
에서
제 호 :
public void fetchCompanies(Context context) {
unsubscribeAll();
if (Utils.isNetworkAvailable(context)) {
subscribe(mCompanyViewListener.getCompanies(), this);
} else {
Realm realm = Realm.getDefaultInstance();
realm.where(Company.class).findAll().asObservable()
.map(new Func1<RealmResults<Company>, Observable<Result<Company>>>() {
@Override
public Observable<Result<Company>> call(RealmResults<Company> companies) {
Result<Company> companyResult = new Result<>();
companyResult.setValue(companies);
return Observable.just(companyResult);
}
}).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<Observable<Result<Company>>>() {
@Override
public void call(Observable<Result<Company>> companyResult) {
subscribe(companyResult, CompanyPresenter.this);
}
});
}
}
초 서비스
@Override
public void onCompanies(Result<Company> companies) {
realm.beginTransaction();
realm.insertOrUpdate(companies.getValue());
realm.commitTransaction();
mCompanyAdapter.addCompanies(realm.where(Company.class).findAll());
mProgressDialog.dismiss();
}
탈퇴
관찰에 존재
@Override
public void onDestroy() {
unsubscribeAll();
}
언제 탈퇴 하시겠습니까? – EpicPandaForce
@EpicPandaForce, onDestroy는 –
이라고 부릅니다. P는'begin/commit' 대신'executeTransaction()'사용을 고려합니다. – EpicPandaForce