사용자 지정 응용 프로그램 하위 클래스에서 Rx Observables를 만드는 것이 허용됩니까? 그 이유는 응용 프로그램 내부에서 BehaviorSubject를 만들 수 있고 서버에서 10 분마다 변경 사항을 요구할 것이므로이 Observable에 가입 한 모든 활동 또는 단편은 마지막 변경 상태 만 얻습니다.사용자 지정 응용 프로그램 하위 클래스에서 관찰 가능 사용
질문이 아키텍처가 응용 프로그램 수명주기 측면에서 안전하고 사용하기 쉬운 것으로 간주 될 수 있는지 여부는 질문입니까?
class CustomApplication extends Application {
...
BehaviorSubject<Friends> mFriends = new BehaviorSubject<Friends>;
public void createObservables() {
Observable.create(new Observable.OnSubscribe<Friends>() {
public void call(Subscriber<?> s) {
while(true) {
mFriends.onNext("randomFriendN");
sleep(10sec);
}
}
})
.subscribeOn(Schedulers.newThread())
.subscribe(new Observer<List<NewsCategory>>() {
public void onNext(Friends f) { //empty }
});
}
public BehaviorSubject<Friends> getFriends() {
return mFriends;
}
}
은 UPDATE : 매번 새로운 활동이 만들어지고 그것이 그것의 ApplicationContext의 BehaviorSubject이 다음에 가입 얻을 수있는 데이터를 얻을 수 원하고, 주제 지난 방출 값을 방출 할 때 왜 내가 이렇게하고 싶습니까? 예 : 뉴스 항목을 가져 왔고 뉴스 피드를 가져 왔으며 뉴스 항목의 전체 내용을 가져 오는 백그라운드 작업을 시작하려는 경우 뉴스 목록을 스크롤하는 동안 데이터 가져 오기를 시작할 수 있으며 자세한 활동을 클릭하면 이미 가져온 것에서 다운로드하거나 그냥 다운로드하십시오.
모호성을 해결하기 위해 의사 코드를 제공 할 수 있습니까? – nhaarman
의사 코드 종류와 함께 제공, 조언을 주셔서 감사합니다 – user1831986
그냥 개선 팁 : BehaviorSubject 또한 옵저버입니다. 당신은 (BehaviorSubject)를 직접 구독 할 수 있습니다. – zsxwing