1

我的应用程序有这个外观

它似乎是一个带有几个 TableRows 的 TableLayout。在我的活动中,每个 TableRow 都有 3 个视图:ImageView、TextView 和一个 Button。

用户是通过输入他想要的文本并按下按钮来设置 ImageView 和 TestView 内容的人。

我将此数据存储在 stringArray 变量中,如果手机未重新启动或应用程序未关闭(强制关闭),则可以正常工作

如果发生这两种情况之一,我将丢失所有数据。

我一直在尝试通过 SharedPreferences 存储我的 StringArrays,但我不知道何时应该加载首选项,无论是在 OnCreate() 还是 OnResume() 或 OnStart 方法 () 中。

另一个问题是如何定义数组。我用这个:

字符串 [] 名称 = 新字符串 [500];

我不知道每次我开始活动时是否都会创建这个字符串。因为我想要的是加载以前的字符串(来自 SharedPreferences)并添加更多条目,而不是在每次重启手机时创建新条目,例如。

你认为我需要一个 SQL 数据库还是这个 StringArrays 没问题。

谢谢你。

4

1 回答 1

1

您可能应该切换到使用数据库,因为您有一个大小为 500 的数组,将来可能会增加。

但是,如果您想继续使用 SharedPreferences,您应该在 onPause() 和 onStop() 方法中写入数据,并在对其运行操作之前使用 if else 语句查看您的数据是否为空。如果数据为空,则在继续之前从 SharedPreferences 中读取它。

于 2012-09-01T19:16:50.800 回答