1.新建一个类继承Application 类,并生成get与set函数,并且初始化一个名字“zhangsan”:
public class OtherActivity extends Activity{
private TextView textView;
private MyApp myApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text);
textView=(TextView)this.findViewById(R.id.textView);
myApp=(MyApp)getApplication();
textView.setText("name-->"+myApp.getName());
}
}
2.在MainAcitivity中通过getApplication获取这个Application并通过强制类型转换得到我们自己的类MyApp,并设置名字:
public void onClick(View v) {
myApp=(MyApp)getApplication();
myApp.setName("lisi");
Intent intent= new Intent(MainActivity.this,OtherActivity.class);
startActivity(intent);
}
3.在OtherActivity中显示名字是否被改了,便可验证全局变量效果:
public class OtherActivity extends Activity{
private TextView textView;
private MyApp myApp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.text);
textView=(TextView)this.findViewById(R.id.textView);
myApp=(MyApp)getApplication();
textView.setText("name-->"+myApp.getName());
}
}
4.需要注意的是除了注册新的Activity,在AndroidManifest.xml文件中的<application></application>中还需要添加一条语句:
android:name=".MyApp"
即这里的name就是你继承Application的那个类的名字