/ / क्या स्क्रीन पर न होने पर भी टुकड़े चलते रहते हैं? - जावा, Android

स्क्रीन पर नहीं होने पर भी टुकड़े चलते रहते हैं? - जावा, एंड्रॉइड

मेरे पास एक एंड्रॉइड ऐप है जो एक बड़ी स्क्रॉलिंग गतिविधि पर बहुत सारे रीयल-टाइम डेटा को दिखाता है।

अब मैं इसे टुकड़ों के उपयोग से दो सरल स्क्रीन में विभाजित करना चाहता हूं, जहां किसी भी एक समय में केवल एक टुकड़ा स्क्रीन पर हो सकता है।

मैंने टुकड़ों पर बहुत कुछ पढ़ा और कई वीडियो देखे, लेकिन इससे पहले कि मैं अपने कोड को तेज करना शुरू करूं, इसे टुकड़ों में बदलने के लिए मैं निम्नलिखित जानना चाहता था।

यदि मैं ए और बी दो टुकड़े बनाता हूं, तो जबकिटुकड़ा बी दिखा रहा है, डेटा टुकड़ा ए के लिए आता है। क्या नियंत्रण गतिविधि अभी भी टुकड़ा ए के साथ संवाद कर सकती है, भले ही वह ऑफ स्क्रीन पर डेटा दे रही हो? या क्या मुझे डेटा को कहीं और सहेजना है और फिर जब उपयोगकर्ता खंड A पर स्विच करता है, तो मैं टुकड़ा A को दिखाया जा सकता है, जबकि टुकड़ा B के लिए आने वाले डेटा को बचाते हुए, जो अब ऑफ स्क्रीन होगा?

समस्या यह है कि अभी इम किसी भी बचत नहीं कर रहा हैडेटा क्योंकि सब कुछ एक स्क्रीन पर है, इसलिए जैसे ही डेटा आता है मैंने इसे प्रदर्शित किया है, लेकिन अगर मैं टुकड़ों का उपयोग करने के लिए स्विच करता हूं, तो मुझे नहीं पता कि अगर मैं स्क्रीन पर नहीं हूं तो भी डेटा को टुकड़ों में पास करके ही काम कर सकता हूं उसी समय।

धन्यवाद।

उत्तर:

जवाब के लिए 0 № 1

यदि आप अपने डेटा को अपनी गतिविधि में कई अतुल्यकालिक अनुरोधों के साथ पुनर्प्राप्त करते हैं, तो आप उनमें से प्रत्येक के लिए एक टुकड़ा बना सकते हैं और संबंधित पुनर्प्राप्ति ऑपरेशन को उस टुकड़े में स्थानांतरित कर सकते हैं (शायद oncreateView() तरीका)। फिर, आप उन सभी टुकड़ों का उपयोग करने में सक्षम होने के लिए मूल गतिविधि में ViewPager (शायद टैबलैट के साथ) का उपयोग कर सकते हैं। इसलिए, आपकी गतिविधि केवल ViewPager को सेट करने और शेष अंशों को छोड़ने का काम करती है।

ViewPager एक समय में एक पृष्ठ दिखाता है लेकिन यह अन्य अंशों को भी आरंभ कर सकता है, इससे पहले कि वे दिखाए जाते हैं। आप ViewPager का उपयोग कर सकते हैं setOffscreenPageLimit() उस सीमा को बढ़ाने की विधि।

यदि आपको खंडों और गतिविधि के बीच एक संचार चैनल की आवश्यकता होती है, तो आप कॉलबैक तंत्र बना सकते हैं, जैसा कि वर्णित है यहाँ.