我正在使用Xamarin开发android程序。 我的应用程序有许多不同的活动,他们通过使用例如以下代码将数据传递给对方:
Intent myIntent = new Intent(this, typeof(ViewAccountActivity));
myIntent.PutExtra("loginedcustomer", JsonConvert.SerializeObject(loginedCustomer));
StartActivity(myIntent);
然后通过
检索此数据loginedCustomer = JsonConvert.DeserializeObject<Customer>(Intent.GetStringExtra("loginedcustomer"));
现在我的问题是,对于每次转换到另一个活动,我必须制作意图并放置数据并启动它,这意味着我必须检索数据,然后再次放入并开始我的新意图。 有没有更简单的方法来做到这一点? 喜欢使用一个意图,只改变它的目标?(在构造函数中) 谢谢
答案 0 :(得分:0)
您可以使用Application类跨多个活动访问同一个对象。
public class TestApplication extends Application {
public TempClass tempClass;
public TestApplication () {
// TODO Auto-generated constructor stub
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
}
public TempClass getTempClass() {
return tempClass;
}
public void setTempClass(TempClass tempClass) {
this.tempClass = tempClass;
}
}
现在进入您的活动:
//after setContentView
testAppObj = (TestApplication) getApplication();
testAppObj.setTempClass(myTempClassObj);
//retrieve as:
TempClass obj = testAppObj.getTempClass();
希望这有帮助。
P.S: 您必须在清单文件中注册Application类,就像注册活动一样:
<application
android:name="com.pkg.test.TestApplication " />