保存数据(OnSaveInstanceState)
问题描述:
我刚开始用这个程序开发。我做了一些关于在活动之间保存数据的研究,我的疑问是。如果我的应用程序变得太复杂,我认为使用OnSaveInstanceState是不切实际的,因为他的陈述。例如:保存数据(OnSaveInstanceState)
protected override void OnSaveInstanceState(Bundle outState)
{
// Save the values you need from your textview into "outState"-object
outState.PutInt("var1" 1);
outState.PutInt("var2" 2);
outState.PutInt("varn" n);
}
因此,如果我有100个变量,我需要声明100个变量(并在OnCreate中恢复它们)?有什么简单的方法可以做到这一点?这也适用于对象?
Tks。
答
对于类似变量的长列表,有数组Put方法 - 例如, PutIntArray
对于对象,您始终可以使用序列化技术 - 例如, XML或JSON - 并且可以再保存该字符串
为了帮助这一点,Android提供Parcelable,以协助这个机制:http://developer.android.com/reference/android/os/Parcelable.html
就个人而言,我会使用JSON.Net和PutString存储序列化对象。