Cronet का इस्तेमाल करके बनाए गए अनुरोधों के लाइफ़साइकल के बारे में जानें. साथ ही, लाइब्रेरी की ओर से उपलब्ध कराए गए कॉलबैक तरीकों का इस्तेमाल करके, उन्हें मैनेज करने का तरीका जानें.
लाइफ़साइकल की खास जानकारी
Cronet Library का इस्तेमाल करके बनाए गए नेटवर्क अनुरोधों को UrlRequest क्लास से दिखाया जाता है.
UrlRequest के लाइफ़साइकल को समझने के लिए, इन कॉन्सेप्ट को समझना ज़रूरी है:
- राज्य
- स्टेट, किसी खास समय पर अनुरोध की स्थिति होती है. Cronet लाइब्रेरी का इस्तेमाल करके बनाए गए UrlRequest ऑब्जेक्ट, अपनी लाइफ़साइकल में अलग-अलग स्थितियों से गुज़रते हैं. अनुरोध के लाइफ़साइकल में, शुरुआती स्थिति के साथ-साथ कई ट्रांज़िशनल और फ़ाइनल स्थितियां शामिल होती हैं.
UrlRequestतरीके- क्लाइंट, स्थिति के आधार पर
UrlRequestऑब्जेक्ट पर खास तरीकों को कॉल कर सकते हैं. इन तरीकों से, अनुरोध को एक स्थिति से दूसरी स्थिति में ले जाया जाता है. CallbackतरीकेUrlRequest.Callbackक्लास के तरीकों को लागू करके, आपका ऐप्लिकेशन अनुरोध की प्रोग्रेस के बारे में अपडेट पा सकता है.UrlRequestऑब्जेक्ट के उन तरीकों को कॉल करने के लिए, कॉलबैक मैथड लागू किए जा सकते हैं जो लाइफ़साइकल को एक स्थिति से दूसरी स्थिति में ले जाते हैं.
यहां दी गई सूची में, UrlRequest के लाइफ़साइकल के बारे में बताया गया है:
- आपके ऐप्लिकेशन के
start()तरीके को कॉल करने के बाद, लाइफ़साइकल Started स्थिति में होता है. - सर्वर, रीडायरेक्ट करने का जवाब भेज सकता है. इससे फ़्लो,
onRedirectReceived()तरीके पर चला जाता है. इस तरीके में, क्लाइंट इनमें से कोई एक कार्रवाई कर सकता है:followRedirect()का इस्तेमाल करके, रीडायरेक्ट किए गए पेज पर जाएं. इस तरीके से, अनुरोध को वापस शुरू किया गया स्थिति में ले जाया जाता है.cancel()का इस्तेमाल करके, अनुरोध रद्द करें. इस तरीके से अनुरोध कोonCanceled()तरीके पर ले जाया जाता है. यहां ऐप्लिकेशन, अनुरोध को रद्द किया गया फ़ाइनल स्थिति में ले जाने से पहले, कुछ और कार्रवाइयां कर सकता है.
- जब ऐप्लिकेशन सभी रीडायरेक्ट को फ़ॉलो कर लेता है, तब सर्वर रिस्पॉन्स हेडर भेजता है और
onResponseStarted()तरीके को कॉल किया जाता है. अनुरोध, read() का इंतज़ार किया जा रहा है स्थिति में है. ऐप्लिकेशन कोread()तरीके को कॉल करना चाहिए, ताकि जवाब के मुख्य हिस्से को पढ़ा जा सके.read()को कॉल करने के बाद, अनुरोध Reading स्थिति में होता है. इसमें ये नतीजे मिल सकते हैं:- रीडिंग की कार्रवाई पूरी हो गई है, लेकिन ज़्यादा डेटा उपलब्ध है.
onReadCompleted()को कॉल किया जाता है और अनुरोध फिर से read() के लिए इंतज़ार कर रहा है स्थिति में होता है. जवाब के मुख्य हिस्से को पढ़ना जारी रखने के लिए, ऐप्लिकेशन कोread()तरीके को फिर से कॉल करना चाहिए. ऐप्लिकेशन,cancel()तरीके का इस्तेमाल करके भी अनुरोध को पढ़ना बंद कर सकता है . - रीडिंग ऐक्शन पूरा हो गया है और अब कोई डेटा उपलब्ध नहीं है.
onSucceeded()तरीके को कॉल किया जाता है और अनुरोध अब Succeeded फ़ाइनल स्थिति में है. - पढ़ने की कार्रवाई पूरी नहीं की जा सकी.
onFailedतरीके को कॉल किया जाता है और अनुरोध की आखिरी स्थिति अब Failed है.
- रीडिंग की कार्रवाई पूरी हो गई है, लेकिन ज़्यादा डेटा उपलब्ध है.
इस डायग्राम में, UrlRequest ऑब्जेक्ट का लाइफ़साइकल दिखाया गया है:
Cronet अनुरोध का लाइफ़साइकल
| लेजेंड | |
|---|---|
UrlRequest तरीके |