मुझे दो अलग-अलग स्क्रीनों से एक गतिविधि शुरू करने की आवश्यकता है जिसमें दो अलग-अलग मॉडल हैं, लेकिन दोनों मॉडलों में कुछ साझा जानकारी है जो मुझे नई गतिविधि में चाहिए। समस्या यह है कि मैं उन मॉडलों को एक ही माता-पिता से विस्तारित नहीं कर सकता, क्योंकि मॉडल में से एक पहले से ही एक माता-पिता को बढ़ाता है। मैंने एक इंटरफ़ेस बनाने के बारे में सोचा है जिसमें साझा विधियां हैं, लेकिन यदि मैं ऐसा करता हूं, तो मैं अगली गतिविधि शुरू करने के लिए आवश्यक बंडल में उस इंटरफ़ेस को कैसे रख सकता हूं?एक नई गतिविधि शुरू करने के लिए बंडल में इंटरफ़ेस रखें
मैं क्रम में कुछ सरलीकृत कोड जोड़ मेरी स्थिति स्पष्ट करने:
public class A extends Model implements CustomInterface {
String name;
String address;
public String getName(){
return name;
}
public String getAddress() {
return address;
}
}
public class B implements CustomInterface {
String name;
public String getName() {
return name;
}
}
public interface CustomInterface {
String getName();
}
मेरे समस्या यह है कि मैं दोनों मॉडलों के बीच साझा जानकारी के साथ एक बंडल के साथ एक गतिविधि शुरू करने की आवश्यकता है। तो, मैं एक बंडल में कस्टमइंटरफेस रखना चाहता हूं। ऐसा कैसे किया जा सकता था?
अग्रिम धन्यवाद।
मुझे नहीं लगता कि इंटरफ़ेस को बंडल में डालने की आवश्यकता है। जब दूसरी गतिविधि शुरू करने वाली गतिविधियां डेटा होती हैं, तो आपको डेटा भेजने और इंटरफ़ेस नहीं भेजने की आवश्यकता होती है। इंटरफ़ेस एक माध्यम है जो आपको यह बताने की अनुमति देता है कि जब आपका इंटरफ़ेस लागू होता है तो आपकी कक्षा एक निश्चित विनिर्देश के अनुरूप होगी। –
मुझे लगता है कि आपको अपने एप्लिकेशन आर्किटेक्चर के बारे में पुनर्विचार करने की आवश्यकता है क्योंकि मुझे लगता है कि वहां एक गंभीर समस्या है। वैसे भी, अगर आपको किसी अन्य गतिविधि की ओर बंडल में जानकारी पास करने की आवश्यकता है तो आप गतिविधि शुरू करने से पहले उन्हें आसानी से रख सकते हैं। लॉन्च गतिविधि के कन्स्ट्रक्टर से जांचें कि क्या बंडल मौजूद है और फिर तदनुसार अपने कार्यों को परिभाषित करें। डेटा संग्रहीत करने और गतिविधियों पर लाने के लिए एक और तरीका है। एक सार्वजनिक स्थैतिक चर घोषित करें और फिर उस डेटा को स्टोर करें जो पूरे एप्लिकेशन के जीवन-चक्र में किया जाएगा। उम्मीद है की वो मदद करदे। –