我正在尝试将我的应用程序从确认模型调整为撤消模型。对于那些不知道的人,在这里您可以一键删除某些内容,但如果这是一个错误,您可以同样轻松地撤消它,而不是每次他/她想做某事时都打断用户问烦人的“你确定要……吗?”通过对话提问。
我的应用程序由 Android SQLite 数据库支持,我希望能够撤消一组有限的删除和更新操作。此外,我只需要能够撤消一个顺序更改,并且信息不必在周围停留很长时间。
我读到的关于撤消/重做的所有内容都说使用命令模型来存储数据。我的问题是如何以轻量级可恢复方式存储数据库更改?
最佳答案
命令模式的思想是,每个命令都知道如何撤销它。例如,AddPersonCommand
会向数据库中的 Persons
表添加一条新记录。要撤消此命令,您必须再次删除该人。
根据应用程序的类型和数据库的复杂性,您可以像往常一样将更改写入数据库。您始终保留最后的 X 个命令对象(X 是可以撤消的操作数),并在必要时调用它们的 undo
方法。
关于android - 如何为 SQLite 数据库更改实现单步撤消?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4069649/