在整个Android程序中,有时需要保存某些全局的数据(如:用户信息),方便在程序的任何地方调用。在Activity之间数据传递中有一种比较使用的方式,就是全局对象,使用过J2EE的都应该知道JavaWeb的四个作用域,其中Application域在应用程序的任何地方都可以使用和访问,除非是Web服务器停止,Android中的全局对象非常类似于JavaWeb中的Application域,除非是Android应用程序清除内存,否则全局对象将一直可以访问。 
在启动Application时,系统会创建一个PID,即进程ID,所有的Activity就会在此主进程上运行。所以,在同一Application中所有的Activity都可以通过Activity.getApplication()方法获取到同一个Application对象,继承Application类,即可访问自定义数据。 
简单来说,使用Application传递数据步骤如下: 
创建新class,取名MyApp,继承android.app.Application父类,并在MyApp中定义需要保存的属性,如:用户名,用户类型。 
在Activity中,通过Activity.getApplication()方法获取到MyApp对象(需要强制转换),对其数据进行操作。 
修改AndroidManifest.xml文件中的application节点的android:name属性(android:name=".MyApp")。 
代码示例 步骤一: 
 
public class MyApp extends Application { 
private String name; 
public String getName() { 
return name; 
} 
public void setName(String name) { 
this.name = name; 
} 
@Override 
public void onCreate() { 
// TODO Auto-generated method stub 
super.onCreate(); 
setName("Dick"); 
} 
} 
 步骤二: 
 
public class MainActivity extends Activity { 
private Button btn; 
private MyApp myApp; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
btn=(Button)this.findViewById(R.id.btn); 
btn.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
// TODO Auto-generated method stub 
myApp=(MyApp)getApplication(); 
myApp.setName("jack"); 
Intent intent=new Intent(MainActivity.this, otherActivity.class); 
startActivity(intent); 
} 
}); 
} 
} 
 步骤三: 
 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="cn.bgxt.staticchuandi" 
android:versionCode="1" 
android:versionName="1.0" > 
<uses-sdk 
android:minSdkVersion="8" 
android:targetSdkVersion="17" /> 
<application 
android:name=".MyApp" 
android:allowBackup="true" 
android:icon="@drawable/ic_launcher" 
android:label="@string/app_name" 
android:theme="@style/AppTheme" > 
<activity 
android:name="cn.bgxt.staticchuandi.MainActivity" 
android:label="@string/app_name" > 
<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 
</activity> 
<activity android:name=".otherActivity"/> 
</application> 
</manifest>