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中访问它。
本文介绍如何在Android应用程序中使用全局变量。通过继承Application类并定义全局变量,可以在各个Activity间共享状态信息。这种方式不受Activity生命周期的影响,使得状态保持更加灵活。
2132

被折叠的 条评论
为什么被折叠?



