我正在寻找在Android手机上备份我的应用程序数据库的方法。我知道SQLite数据库只是文件,所以如果可以的话,我希望能够将文件复制到SD卡中。
但是,我不确定如何为备份/还原准备数据库/活动。
启动时,我的主要活动将从数据库中的一个表中读取条目,并将它们显示在ListView中。如API的"Notes“示例所示,我有一个游标,它会自动通知表中的更改(当我在表中添加/删除/更新记录时,会自动更新ListView)。
所以:当我把数据库文件复制到SD卡时,我应该没有问题.但是,如果用户希望恢复数据库文件,怎么办?我不能把文件复制回数据文件夹,可以吗(编辑:.当一个视图显示来自数据库的数据,从而可能持有一个开放的连接)?
在实现备份/还原时,什么是“最佳实践”?我考虑过的一种方法是:
打开一个特殊的“恢复”活动,该活动不包含要删除的主活动的开放数据库connections
finish(),并关闭数据库文件
G 215的主活动
finish()的一个新的“实例”这是应该走的路吗?谢谢你的建议!
发布于 2010-02-09 21:59:13
,但是如果用户想要恢复数据库文件呢?我不能直接把文件复制回数据文件夹,对吗?
可以,停那儿吧。当您可以将文件从数据文件夹移到SD卡上时,您可以将文件从SD卡移回数据文件夹。
您现在提出的是一种很好的方法,请记住,在备份/还原期间,您不希望任何开放的数据库对象。
https://stackoverflow.com/questions/2232717
复制相似问题