Android应用程序开发中,有的时候我们在应用程序的任何一个地方都需要访问一个全局变量,也就是在任何一个Activity中都可以访问的变量。它不会因为Activity的生命周期结束而消失。要实现应用程序级的变量,我们可以通过Application这个类来实现。
1. class MyApp extends Application {
2.
3. private String myState;
4.
5. public String getState(){
6. return myState;
7. }
8. public void setState(String s){
9. myState = s;
10. }
11. }
12.
13. class Blah extends Activity {
14.
15. @Override
16. public void onCreate(Bundle b){
17. ...
18. MyApp appState = ((MyApp)getApplicationContext());
19. String state = appState.getState();
20. ...
21. }
22. }
然后再manifest中添加应用:
1. <application android:name=".MyApp" android:icon="@drawable/icon" android:label="@string/app_name">
2. <activity android:name=".ClickableListItemActivity"
3. android:label="@string/app_name">
4. <intent-filter>
5. <action android:name="android.intent.action.MAIN" />
6. <category android:name="android.intent.category.LAUNCHER" />
7. </intent-filter>
8. </activity>
9.
10. </application>
注意:
不用新建<application />,在原有基础上添加内容:android:name=".your_App_Name"
Application对象只有在应用程序中所有Activity都destroy时才会destrory,所有我们可以在任何一个Activity中访问它。