Android全局变量的定义与使用

 


Android应用程序开发中,有的时候我们在应用程序的任何一个地方都需要访问一个全局变量,也就是在任何一个Activity中都可以访问的变量。它不会因为Activity的生命周期结束而消失。要实现应用程序级的变量,我们可以通过Application这个类来实现。

class MyApp extends Application {

  private String myState;

  public String getState(){
    return myState;
  }
  public void setState(String s){
    myState = s;
  }
}

class Blah extends Activity {

  @Override
  public void onCreate(Bundle b){
    ...
    MyApp appState = ((MyApp)getApplicationContext());
    String state = appState.getState();
    ...
  }
}

然后再manifest中添加应用:

<application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".ClickableListItemActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>


注意:不用新建<application />,在原有基础上添加内容:android:name=".your_App_Name"


Application对象只有在应用程序中所有Activity都destroy时才会destrory,所有我们可以在任何一个Activity中访问它。

参考文章:http://androidstudy.iteye.com/blog/776127

http://hi.baidu.com/zj41342626/item/74559c38e82730c32f8ec2ed

-----------------------------------------------------------------------------------------------------------------------------

说明1:获取全局变量的引用 方法有 2种 getApplication() 和 getApplicationContext() .

          法一: MyApp myApp1 = (MyApp)getApplication();

          法二: MyApp myApp2 = (MyApp)getApplicationContext();









你可能感兴趣的:(android,application,全局变量)