提到Activity之间的数据传递,可能首先想到的便是用过Intent进行数据传递,但是通过Intent Bundle只能传递一些基本的数据类型,对于复杂的数据传递可能会不方便。
对于Application而言,它的生命周期贯穿整个应用程序的生命周期,因此它无疑是一种十分有效的数据传递方式。
首先,建立自己的Application集成自application,然后在Manifest中进行android:name的设置,如下MyApplication即我创建的Application:
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
然后,以MyApplication作为中介进行数据传输
:
public class MyApplication extends Application{
private String str = "default";
public String getStr(){
return str;
}
public void setStr(String str){
this.str = str;
}
}
最后在Activity中调用Application中的set/get方法即可。
((MyApplication)getApplicationContext()).setStr("Main1保存的数据");
String str = ((MyApplication)getApplicationContext()).getStr();
关于Application更细致的描述可以参考这篇文章http://blog.csdn.net/lieren666/article/details/7598288
实例可以在这里下载http://download.csdn.net/detail/fxmfxm9304/9051575