我正在寻找在Android手机上备份我的应用程序数据库的方法。我知道SQLite数据库只是文件,因此如果可用SD卡,我期望能够将文件直接复制到SD卡。
不过,我不确定如何为备份/恢复准备我的数据库/活动。
在开始时,我的主活动从数据库中读取一个表中的条目,并将它们显示在ListView中。正如API的“Notes”示例所示,我有一个游标自动通知关于该表的更改(当我添加/删除/更新表中的记录时,ListView会自动更新)。
那么:当我将数据库文件复制到SD卡上时,我应该不会遇到问题。但是,如果用户想要还原数据库文件呢?我不能只是将文件复制回数据文件夹,对吧(编辑:...而视图显示数据库中的数据,因此可能保持打开连接)?
在实现备份/恢复时,什么是最佳实践?我考虑的一个方法是:
1.打开一个特殊的“还原”活动,它没有打开的数据库连接
2.为主活动调用finish()以删除它并关闭数据库连接
3.复制回数据库文件
4.打开新的"实例"主活动
5.为“还原”活动调用finish()
这样做是否可行?感谢任何建议!
不过,我不确定如何为备份/恢复准备我的数据库/活动。
在开始时,我的主活动从数据库中读取一个表中的条目,并将它们显示在ListView中。正如API的“Notes”示例所示,我有一个游标自动通知关于该表的更改(当我添加/删除/更新表中的记录时,ListView会自动更新)。
那么:当我将数据库文件复制到SD卡上时,我应该不会遇到问题。但是,如果用户想要还原数据库文件呢?我不能只是将文件复制回数据文件夹,对吧(编辑:...而视图显示数据库中的数据,因此可能保持打开连接)?
在实现备份/恢复时,什么是最佳实践?我考虑的一个方法是:
1.打开一个特殊的“还原”活动,它没有打开的数据库连接
2.为主活动调用finish()以删除它并关闭数据库连接
3.复制回数据库文件
4.打开新的"实例"主活动
5.为“还原”活动调用finish()
这样做是否可行?感谢任何建议!