मेरे पास एक अवलोकन करने योग्य सदस्यता के बारे में कोई प्रश्न है। मेरे पास दो कोड हैं और मुझे सच में यकीन नहीं है कि कौन सा बेहतर है।सदस्यता सदस्यता रद्द करने के लिए
उदाहरण 1 - ग्राहक एक बार धारा समाप्त हो गया है सदस्यता रद्द करें>:
Subscriber<String> subscriber = new Subscriber<String>() {
@Override
public void onCompleted() {
progressdialog.dissmiss();
unsubscribe();
}
@Override
public void onError(Throwable e) {
progressdialog.dissmiss();
}
@Override
public void onNext(String s) {
// do something with data
}
}
उदाहरण 2 -> सदस्यता एक बार गतिविधि नष्ट हो जाता है सदस्यता रद्द करें:
private void test(){
Subscriber<String> subscriber = new Subscriber<String>() {
@Override
public void onCompleted() {
progressdialog.dissmiss();
}
@Override
public void onError(Throwable e) {
progressdialog.dissmiss();
}
@Override
public void onNext(String s) {
// do something with data
}
};
subscription = BackendRequest.login(loginRequest)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(subscriber);
compositeSubscription.add(subscription);
}
@Override
protected void onDestroy() {
super.onDestroy();
this.subscription.unsubscribe();
}
मुझे लगता है कि उल्लेख करना होगा मेरी अवलोकन केवल एक बार उत्सर्जित हो जाएंगे, गतिविधि को पर्यवेक्षण से अधिक कॉल के लिए इंतजार नहीं करना चाहिए।
कौन सा बेहतर है?
अग्रिम धन्यवाद
श्रोता को रीफ्रेश करने के लिए पुल का उपयोग करते समय दूसरी बार रीफ्रेश करने के लिए मुझे अपना कोड (रीफ्रेश करने के लिए खींचें) प्राप्त करने में परेशानी हो रही है। मैंने सत्यापित किया है कि रीफ्रेश करने के लिए मेरी खींच सही ढंग से काम कर रही है लेकिन "observable.subscribeOn (शेड्यूलर्स.न्यू थ्रेड()) का दूसरा सेट। निरीक्षण (एंड्रॉइडशेड्यूलर्स.माइन थ्रेड())। सदस्यता लें (ग्राहक)" केवल काम नहीं कर रहा है। कोई विचार? – lawonga