【问题标题】:Android: When and how to save application dataAndroid:何时以及如何保存应用程序数据
【发布时间】:2011-08-17 04:48:56
【问题描述】:

我正在编写一个小食谱管理应用程序。在主屏幕上有一个名为“添加配方”的按钮。单击时,会创建一个新活动,其中包含一个带有多个选项卡的 TabHost

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

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

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

还是其他方法?

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

【问题讨论】:

    标签: android sqlite data-structures


    【解决方案1】:

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

    查看Parcelable,了解如何临时存储这些数据。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 我不需要跨应用共享数据,那么ContentProvider有必要吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 2016-04-02
      • 2011-07-04
      • 2021-02-13
      • 2015-12-14
      相关资源
      最近更新 更多