本文共 2024 字,大约阅读时间需要 6 分钟。
在整个Android程序中,有时需要保存某些全局的数据(如:用户信息),方便在程序的任何地方调用。在Activity之间数据传递中有一种比较使用的方式,就是全局对象,使用过J2EE的都应该知道JavaWeb的四个作用域,其中Application域在应用程序的任何地方都可以使用和访问,除非是Web服务器停止,Android中的全局对象非常类似于JavaWeb中的Application域,除非是Android应用程序清除内存,否则全局对象将一直可以访问。
在启动Application时,系统会创建一个PID,即进程ID,所有的Activity就会在此主进程上运行。所以,在同一Application中所有的Activity都可以通过Activity.getApplication()方法获取到同一个Application对象,继承Application类,即可访问自定义数据。
简单来说,使用Application传递数据步骤如下:
代码示例
步骤一:
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); } }); }}
本文转自承香墨影博客园博客,原文链接:http://www.cnblogs.com/plokmju/p/android_appliction.html,如需转载请自行联系原作者