android - 如何为 SQLite 数据库更改实现单步撤消?

标签 android database sqlite

我正在尝试将我的应用程序从确认模型调整为撤消模型。对于那些不知道的人,在这里您可以一键删除某些内容,但如果这是一个错误,您可以同样轻松地撤消它,而不是每次他/她想做某事时都打断用户问烦人的“你确定要……吗?”通过对话提问。

我的应用程序由 Android SQLite 数据库支持,我希望能够撤消一组有限的删除和更新操作。此外,我只需要能够撤消一个顺序更改,并且信息不必在周围停留很长时间。

我读到的关于撤消/重做的所有内容都说使用命令模型来存储数据。我的问题是如何以轻量级可恢复方式存储数据库更改?

最佳答案

命令模式的思想是,每个命令都知道如何撤销它。例如,AddPersonCommand 会向数据库中的 Persons 表添加一条新记录。要撤消此命令,您必须再次删除该人。

根据应用程序的类型和数据库的复杂性,您可以像往常一样将更改写入数据库。您始终保留最后的 X 个命令对象(X 是可以撤消的操作数),并在必要时调用它们的 undo 方法。

关于android - 如何为 SQLite 数据库更改实现单步撤消?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4069649/

相关文章:

android - 在 Android 应用程序上为 "offline viewing"的在线服务保留用户数据

java - Android 中的光标是从 0 还是 1 引用列?

Python Sqlite3 数据库锁定,QWidget

android - 图库只有 1 张图片时不显示任何内容

database - 扇形陷阱和裂隙陷阱 - 数据库

android - 不用sdcard创建备份数据库

sql - 如何计算表格中的持续时间

SQLITE_INTEGER 值字节

Android SDK 和 AVD Manager 将无法运行

android - 将 flickr 图片添加到 android 画廊并显示它