मेरी समस्या यह है कि मुझे Retrofit
के साथ अनंत स्ट्रीम नहीं मिल सकती है। प्रारंभिक मतदान() अनुरोध के लिए मुझे प्रमाण-पत्र प्राप्त होने के बाद - मैं प्रारंभिक मतदान() अनुरोध करता हूं। प्रत्येक मतदान() अनुरोध 25 सेकंड में जवाब देता है यदि कोई बदलाव नहीं होता है, या इससे पहले कि कोई बदलाव हो - बदले में बदलना_डाटा []। प्रत्येक प्रतिक्रिया में अगले मतदान अनुरोध के लिए timestamp
डेटा आवश्यक है - मुझे प्रत्येक मतदान() प्रतिक्रिया के बाद नया मतदान() अनुरोध करना चाहिए।आरएक्सजेवा + रेट्रोफिट लंबे मतदान
getServerApi().getLongPollServer()
.flatMap(longPollServer -> getLongPollServerApi(longPollServer.getServer()).poll("a_check", Config.LONG_POLLING_SERVER_TIMEOUT, 2, longPollServer.getKey(), longPollServer.getTs(), "")
.take(1)
.flatMap(longPollEnvelope -> getLongPollServerApi(longPollServer.getServer()).poll("a_check", Config.LONG_POLLING_SERVER_TIMEOUT, 2, longPollServer.getKey(), longPollEnvelope.getTs(), "")))
.retry()
.subscribe(longPollEnvelope1 -> {
processUpdates(longPollEnvelope1.getUpdates());
});
मैं RxJava के लिए नया हूँ, शायद मैं कुछ समझ में नहीं आता, लेकिन मैं अनंत धारा नहीं मिल सकता है: यहाँ मेरी कोड है। मुझे 3 कॉल मिलती हैं, फिर अगला और पूर्ण पर।
पीएस शायद एंड्रॉइड पर लंबे मतदान को लागू करने के लिए एक बेहतर समाधान है?
आपके मामले में मैं अपने स्वयं के 'पर्यवेक्षक' को 'Observable.create() ' –