2011-03-24 27 views
15

मैं स्थिरांक को परिभाषित करना चाहता हूं जिसका उपयोग किसी भी अनुप्रयोग में सभी गतिविधियों द्वारा किया जा सकता है। यह करने के लिए सबसे अच्छा तरीका क्या है।एप्लिकेशन में सभी गतिविधियों द्वारा निरंतर उपयोग करने के लिए परिभाषित करें: एंड्रॉइड

आवेदन करने का केवल एकमात्र तरीका है, क्योंकि मैं सभी वर्गों में समान स्थिरता घोषित नहीं करना चाहता हूं।

उत्तर

25

दो तरीके मैं का उपयोग किया है कि प्रभावी रहे हैं। उस वर्ग में अपने निरंतर मूल्यों को परिभाषित करें और उन्हें सभी सार्वजनिक और अंतिम बनाएं। (उन्हें एक इंटरफेस की परिभाषा से सार्वजनिक होना है, लेकिन सुनिश्चित करें कि वे भी अंतिम हैं)। अब अपने कॉन्स्टेंट इंटरफ़ेस को लागू करने के लिए बस अपनी गतिविधियां और किसी भी अन्य वर्ग की घोषणा करें। अब उन सभी के पास समान वैश्विक मूल्यों तक पहुंच है।

2) एक इंटरफ़ेस के बजाय कक्षा कॉन्स्टेंट बनाएं। सार्वजनिक स्थिर फाइनल के रूप में अपने सभी स्थिरांक को परिभाषित करें। अब आप अपने सभी निरंतर मूल्यों को अपने आवेदन में किसी भी कक्षा में Constants.VARIABLE_NAME के ​​माध्यम से संदर्भित कर सकते हैं।

+0

मैं दूसरी शैली का उपयोग करता हूं जो इस तरह कुछ दिखने पर समाप्त होता है: Constants.Keys.KEY_CONSTANT; – sgarman

+0

पहले के बारे में नहीं पता था। बहुत धन्यवाद। – tacone

+5

पहला उत्तर आम तौर पर जावा समुदाय में बहुत खराब अभ्यास माना जाता है। तो, सावधानी के साथ ऐसा करो। – BroFist

2

सरल जवाब स्थिर अंतिम रूप में है कि चर घोषित करने और सभी गतिविधि के दशक में है कि निरंतर का उपयोग आप activity.constantname जैसे के नाम से: activity1.name

जब भी आप इसका इस्तेमाल करते हैं यह एक ही मान ले जाएगा, यह भी बदल जाएगा वैश्विक रूप से .. वही मूल्य लेता है, इससे कोई फर्क नहीं पड़ता कि आप किस गतिविधि को एक्सेस कर रहे हैं।

1) एक अंतरफलक कहा जाता स्थिरांक या वैश्विक या जो भी आप चाहते हैं:

+0

जब आप गतिविधि समाप्त करते हैं और किसी इरादे से दूसरे को शुरू करते हैं तो वेरिएबल क्यों नष्ट नहीं होता है? ऐसा करने से वैरिएबल या तो शून्य हो सकता है या रिसाव हो सकता है? – cjayem13

1

मैं उन मानों को स्थैतिक मानते हुए एक वर्ग का उपयोग करता हूं और सेट/उन्हें स्थिर तरीकों से प्राप्त करता हूं।

संबंधित मुद्दे

 संबंधित मुद्दे