आपका प्रश्न वास्तव में मेरे लिए अस्पष्ट है। मुझे समझ में नहीं आता कि आप आरएस के सामान्य दृढ़ता तंत्र का उपयोग क्यों नहीं कर सकते। यदि आप ऐसा करते हैं, तो अनुरोधों को निष्पादित किए जाने पर आपके डेटा को जारी रखना बहुत आसान है।
शायद मुझे कुछ याद आ रहा है। इसलिए, यदि आपकी आवश्यकता वास्तव में डेटा को स्वयं जारी रखना है, तो आपके द्वारा प्रस्तावित दृष्टिकोण सही दिखता है। आप अपने अनुरोध के अंदर मसाला सेवा को इंजेक्ट कर सकते हैं (देखें उदाहरण के लिए retrofitSpiceService में addRequest ओवरराइड कैसे है)।अनुरोध तब एक संदर्भ रखेगा जिसका उपयोग कॉलबैक के अंदर दृढ़ता के लिए किया जा सकता है, या अनुरोध के अंदर ही किया जा सकता है।
हाल ही में मैंने रेट्रोफिट और आरएस का उपयोग करके एक POST अनुरोध कोडित किया है। मैंने शून्य अनुरोध वापस करने के लिए POST अनुरोध के हस्ताक्षर को बदल दिया। फिर उस मामले से निपटने के लिए रेट्रोफिट कनवर्टर को थोड़ा संशोधित किया और शून्य वापस कर दिया। अनुरोध को पहले बताए गए इंजेक्शन के माध्यम से मसाला सेवा प्राप्त हुई और डेटाबेस पर कुछ क्रियाएं कर सकती थीं।
मसाला सेवा के भीतर से अनुरोध के अंदर एप्लिकेशन को इंजेक्ट करने के लिए कुछ कोड यहां दिया गया है।
@Override
public void addRequest(CachedSpiceRequest<?> request,
Set<RequestListener<?>> listRequestListener) {
if (request.getSpiceRequest() instanceof MySpiceRequest) {
MySpiceRequest<?> mySpiceRequest = (MySpiceRequest<?>) request
.getSpiceRequest();
mySpiceRequest.setApplication(this.getApplication());
}
super.addRequest(request, listRequestListener);
}
अरे मैं वास्तव में Robospice का उपयोग करने के रूप में अच्छी तरह @ Lion789 के लिए और अधिक जानकारी प्रदान करने के लिए अपने जवाब संपादित रेट्रोफिट – Lion789
साथ डाटा को कैश करने के लिए कोशिश कर रहा हूँ आप इस का एक उदाहरण है ...। अगर आपको और जानकारी चाहिए तो मुझे बताएं। – saywhatnow
धन्यवाद, वास्तव में उत्सुक था, अगर मेरे पास ठीक है httpClient और retrofit, क्या कैशिंग स्वचालित रूप से अर्थ होता है मुझे तब रोबोस्पीस का उपयोग करने की आवश्यकता नहीं है? – Lion789