मेरे ऐप में कई टुकड़े और गतिविधियां हैं। मुख्य अभिभावक गतिविधि के जीवन चक्र के दौरान, ऐप अन्य गतिविधियों में उपयोगकर्ता को जानकारी/विकल्प प्रस्तुत करता है।जब आप मूल गतिविधि की स्थिति को सहेजने के लिए बाध्य होते हैं तो आप खंड लेनदेन को कैसे संभालेंगे?
टुकड़े के लिए प्रलेखन है निम्नलिखित शर्त के लिए प्रतिबद्ध():
सावधानी: आपको किसी लेन-देन गतिविधि अपने राज्य को बचाने के लिए प्रतिबद्ध() केवल पहले का उपयोग कर के लिए प्रतिबद्ध कर सकते हैं (उपयोगकर्ता गतिविधि छोड़ देता है जब) । यदि आप उस बिंदु के बाद प्रतिबद्ध करने का प्रयास करते हैं, तो एक अपवाद फेंक दिया जाएगा। ऐसा इसलिए है क्योंकि यदि गतिविधि को बहाल करने की आवश्यकता है तो प्रतिबद्धता के बाद राज्य खो जा सकता है। ऐसी परिस्थितियों के लिए जिसमें आप प्रतिबद्धता खो देते हैं, प्रतिबद्धता का उपयोग करें StowLoss()।
मुद्दा यह है कि मूल गतिविधि पर लौटने के बाद, अब मैं फ्रैगमेंट ट्रांस्सेक्शन का उपयोग नहीं कर सकता जो कि ऐप में नेविगेशन डिज़ाइन किए गए तरीके से अभिन्न हैं।
एक समाधान मैंने सोचा है कि मेरी गतिविधियों को टुकड़ों में बदलना है, हालांकि मेरा ऐप अंततः ऐप-ऐप बिलिंग का उपयोग करेगा जो मुझे विश्वास है कि हमेशा अपनी गतिविधि शुरू करेगा। यह एक विशाल प्रतिबंध की तरह लगता है - विकास में किसी बिंदु पर मैं एक अलग गतिविधि प्रदर्शित करना समाप्त कर दूंगा।
मैं संभवतः commitAllowingStateLoss() का उपयोग कर दूर हो सकता हूं, लेकिन मुझे लगता है कि मुझे एंड्रॉइड टैबलेट ऐप विकास में एक प्रमुख अवधारणा याद आ रही है। क्या गतिविधियों को शुरू करने का कोई तरीका है, फिर फ्रैगमेंट ट्रांस्सेक्शन को प्रतिबद्ध करने की क्षमता खोने के बिना मूल गतिविधि (जो टुकड़े प्रबंधित करता है) पर वापस आ जाता है?
इसे पढ़ना [** ब्लॉग पोस्ट **] (http://www.androiddesignpatterns.com/2013/08/fragment-transaction-commit-state-loss.html) मदद कर सकता है। –