我在看 Google 的一篇应用评论,他们正在窃取这个有保存按钮的人的应用,如果你在离开前没有保存,它会弹出一个对话框。他们说 Android 应用程序应该只是保存而不是打扰用户。
我有一个 fragment 和多个字段,需要确定何时将数据保存到 SQLite 数据库中。我在考虑通过 onFocusChange
事件在每个字段退出时保存吗?或者也许那太频繁了?也许 fragment 的 onPause
事件?我应该什么时候保存(请具体事件)?
最佳答案
Fragments
在生命周期方面很像 activities
。所以 onPause()
是保存持久状态的正确位置,稍后在 onPause()
之后可能为时已晚并可能导致数据丢失。 Google 建议使用“就地编辑”用户模型。也就是说,立即保存编辑,在您的情况下,当用户在输入字段之间切换时保存数据是一个好方法。如果您的 Fragment
/Activity
被系统终止,这可以防止数据丢失。如果您认为保存状态可能需要几秒钟,您还可以在 onPause()
中使用 IntentService
。在你的场景中,当用户在输入字段之间切换时,我会执行 AsyncTask
更新你的数据库,可能会检测是否真的发生了变化。
编辑:如果您正在使用 ContentProvider
,请考虑使用 AsyncQueryHandler而不是 AsyncTask
。
关于android - 我什么时候应该将数据保存到 SQLite 中,输入到我的 Android 应用程序的 fragment 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11595464/