2012-03-08 9 views
5

मैं मुख्य आवेदन कक्षा में एक कस्टम कक्षा बना रहा हूं। आइए मेरा mainAccount कहें।सभी गतिविधियों में उपयोग करने के लिए वैश्विक चर घोषित करना

अब, मैं कई गतिविधियां बना रहा हूं। मैं प्रत्येक गतिविधि में mainAccount परिवर्तनीय बनाना चाहता हूं, मैं यह कैसे कर सकता हूं? एक तरीका इरादे में रखना और प्रत्येक गतिविधि को पास करना है। क्या यह कोई बेहतर तरीका है, जैसे इसे वैश्विक ईटीसी बनाना?

बेस्ट सादर

उत्तर

6

आप प्राथमिकताओं का उपयोग के बारे में सोचा है? अधिक जानकारी के लिए एक महान संसाधन है। http://mobile.tutsplus.com/tutorials/android/android-application-preferences/

या आप एक वर्ग के रूप द्वारा http://www.helloandroid.com/category/topics-covered/global-variables

+0

हम्म। अच्छा धन्यवाद, मैं इसकी तलाश में था। –

+0

कोई समस्या नहीं। उस पहले लिंक में कई अन्य चीजों पर भी बहुत अच्छी जानकारी है। – mpeerman

6

Singleton classes देखें। असल में, आप इस तरह कुछ चाहते हैं।

public class Singleton { 
    private static Singleton instance = null; 
    protected Singleton() { 
     // Exists only to defeat instantiation. 
    } 
    public static Singleton getInstance() { 
     if(instance == null) { 
     instance = new Singleton(); 
     } 
     return instance; 
    } 
} 

फिर, किसी भी वर्ग है कि वर्ग के लिए उपयोग की जरूरत है के लिए, फोन:

Singleton var=Singleton.getInstance(); 

यह अनिवार्य रूप से वैश्विक है, वैश्विक चर के नकारात्मक परिणामों के सबसे बिना। यह सुनिश्चित करेगा कि उस वर्ग का केवल एक ही वस्तु मौजूद हो, लेकिन जिसकी आवश्यकता है उसे एक्सेस कर सकते हैं।

4

बस उन चर और तरीकों जो भी आप गतिविधियों में उपयोग करना चाहते के साथ एक सार वर्ग को परिभाषित।

उदाहरण के लिए:

public abstract class BaseActivity extends Activity 
{ 
    //static variables 
    // static methods 
} 

अब अपने सभी गतिविधियों में इस BaseActivity वर्ग लागू होता है:

public class HelloAndroid extends BaseActivity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 
} 
0

आप "सिंगलटन" वर्ग, या "स्थिर" वर्ग (उपयोग कर सकते हैं यदि आप इसे प्रारंभ करने की आवश्यकता नहीं है, का दृष्टांत या demostrated कि आवेदन फैली बना सकते हैं इंटरफेस का उत्तराधिकारी या कार्यान्वयन)।

सिंगलटन वर्ग:

public class MySingletonClass { 

     private static MySingletonClass instance; 

     public static MySingletonClass getInstance() { 
      if (instance == null) 
       instance = new MySingletonClass(); 
      return instance; 
     } 

     private MySingletonClass() { 
     } 

     private String val; 

     public String getValue() { 
      return val; 
     } 

     public void setValue(String value) { 
      this.val = value; 
     } 
    } 

स्ट्रिंग एस = MySingletonClass.getInstance() getValue();।

स्टेटिक वर्ग:

public class MyStaticClass { 
    public static String value; 
} 

स्ट्रिंग एस = MyStaticClass.value;

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