gpt4 book ai didi

database - 安卓数据库备份

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:55:10 25 4
gpt4 key购买 nike

我正在寻找在 Android 手机上备份我的应用数据库的方法。我知道 SQLite 数据库只是文件,所以我希望能够将文件复制到 SD 卡(如果有的话)。

但是,我不确定如何为备份/恢复准备我的数据库/Activity 。

开始时,我的主要 Activity 从数据库中的一个表中读取条目并将它们显示在 ListView 中。如 API 的“注释”示例所示,我有一个游标,它会自动通知该表的更改(当我添加/删除/更新表中的记录时,ListView 会自动更新)。

因此:当我将数据库文件复制到 SD 卡时,应该没有问题。但是如果用户想要恢复数据库文件怎么办?我不能只将文件复制回数据文件夹,我可以吗(编辑:...当 View 显示数据库中的数据并因此可能保持打开的连接时)?

实现备份/恢复时的“最佳实践”是什么?我考虑过的一种方法是:

  1. 开启一个特殊的“恢复” Activity 没有开放的数据库连接
  2. 调用finish()主要 Activity 将其删除并关闭数据库连接
  3. 复制回数据库文件
  4. 打开主 Activity 的新“实例”
  5. 为“恢复” Activity 调用finish()

那是要走的路吗?感谢您的任何建议!

最佳答案

But what if the user wants to restore a database file? I can't just copy the file back to the data folder, can I?

是的,你可以。由于您可以将文件您的数据文件夹移动到 SD 卡上的文件夹,因此您可以将文件从 SD 卡移回到您的数据文件夹。

您现在提出的是一个很好的方法,请记住您不希望在备份/恢复期间打开任何数据库对象。

关于database - 安卓数据库备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2232717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com