Search code examples
androidglobal-variables

Android global variable


How can I create global variable keep remain values around the life cycle of the application regardless which activity running.


Solution

  • You can extend the base android.app.Application class and add member variables like so:

    public class MyApplication extends Application {
    
        private String someVariable;
    
        public String getSomeVariable() {
            return someVariable;
        }
    
        public void setSomeVariable(String someVariable) {
            this.someVariable = someVariable;
        }
    }
    

    In your android manifest you must declare the class implementing android.app.Application (add the android:name=".MyApplication" attribute to the existing application tag):

    <application 
      android:name=".MyApplication" 
      android:icon="@drawable/icon" 
      android:label="@string/app_name">
    

    Then in your activities you can get and set the variable like so:

    // set
    ((MyApplication) this.getApplication()).setSomeVariable("foo");
    
    // get
    String s = ((MyApplication) this.getApplication()).getSomeVariable();