Android:何时以及如何保存应用程序数据

时间:2011-08-17 04:48:56

标签: android sqlite data-structures

我正在写一个小食谱管理应用程序。在主屏幕上有一个名为“添加食谱”的按钮。点击后,会创建一个新活动,其中包含一个带有多个标签的TabHost

第一个选项卡是“基本信息”,包含一个名为“名称”的TextView,用户可以在其中输入配方名称。第二个选项卡称为“成分”,包含ListView。通过与此选项卡对应的选项菜单,有一个名为“添加成分”的选项,它会启动一个新活动,其中包含一些TextView个对象,可以输入成分信息。

我的问题是,什么时候应该将新的食谱条目添加到SQLite数据库表中?从"Saving Persistent State" section of the documentation开始,我似乎应该在启动“添加食谱”活动后立即创建一个新条目。但是,那时我还没有输入食谱名称。我应该:

  1. 在活动启动时立即为配方条目创建临时名称,并在以后更新?
  2. 等到名称和成分输入后,让用户点击“确认”按钮?

还是其他一些方法?

我将所有食谱的成分存储到SQLite表中,并通过外键识别成分属于哪个食谱。因此,要将成分存储到“成分”表中,我需要在“食谱”表中有一个配方。

2 个答案:

答案 0 :(得分:1)

当活动以某种方式被遮挡时,我会让应用程序存储临时不完整的食谱信息 - 例如。 onPause()和onSaveInstanceState()。当用户再次调用活动时,只需恢复数据。只有当用户实际按下保存按钮时,应用才会将数据输入SQLite。

请查看Parcelable,了解如何暂时存储此数据。

答案 1 :(得分:0)