我已經爲此擱置了一段時間了。 我正在研究一款存儲人魚捕獲量,最喜歡釣魚位置,解決方案庫存量和其他數據的Android應用程序。我所有的類都是可串行化的,並且可以在迄今爲止似乎能夠工作的活動之間保存和加載。但我預測隨着越來越多的數據被存儲,應用程序將開始運行緩慢。在Android活動之間高效地傳遞自定義對象數據[Mono Android]
我基本上要問的是,有什麼方法可以在整個應用程序中保留這些數據,所以我不必在每次彈出新的屏幕時都加載它。我已經找到了以下信息來幫助,但它需要一個更加清楚一點,我明白了:
另一個論壇上說,你可以在應用程序對象東東吧:
[Application]
public class MyApp : Android.App.Application {
public MyApp(IntPtr handle)
: base (handle)
{
}
public FishingData Data {get; set;}
}
內然後你活動時間:
((MyApp) this.ApplicationContext).Data = value;
所以我從來沒有真正聽說過這樣的做法的,我不知道這會度過整個應用程序(我覺得無論哪種方式,它會必須通過加載數據序列化。這是我想要的應用程序待辦事項:
的第一項活動是主菜單,當屏幕負載下必須做到:
- 如果找到一個設置文件,使用序列加載以前FishingData對象(我知道如何做到這一點)
- 如果沒有,然後創建一個新的清潔FishingData對象後保存(我知道這也是)
- 所以,現在我們有一個FishingData對象,我怎麼保證我不必重複步驟1 -2在每個活動中。我怎樣才能以某種方式將FishingData對象傳遞給下一個活動,並確保它在應用程序仍然存在的同時生活。 我只想加載一次(通過序列化)(< - 不知道如何做到這一點),並保存它只有當用戶添加數據到這個對象(我知道該怎麼做)。
任何幫助將不勝感激。這聽起來似乎弄不清楚。這似乎是一件很平常的事情,但我一直沒有找到任何詳細的信息。
我不知道,但+1格式非常好的第一個問題。歡迎來到StackOverflow。 –
要在活動之間傳遞信息,您希望使用Parcelable http://developer.android.com/reference/android/os/Parcelable.html但是,要保存所有這些數據,最好至少創建一個sqllite數據庫,或者更理想地使用自己的數據庫 – Jameo
查看http://forums.xamarin.com/discussion/451/communicate-with-iserializable – Cheesebaron