StoreData甚至手机重启

时间:2012-09-01 18:39:42

标签: android sql string store

我的应用有这种外观

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

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

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

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

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

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

String [] titulo = new String [500];

我不知道每次启动活动时是否创建了此字符串。因为我想要的是加载前一个String(来自SharedPreferences)并添加一些更多的条目,而不是每次重启电话时都创建新的条目。

你认为我需要一个SQL数据库,或者这个StringArrays没问题。

谢谢。

1 个答案:

答案 0 :(得分:1)

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

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