【问题标题】:How to backup/restore SQLite database on Android to Dropbox如何将 Android 上的 SQLite 数据库备份/恢复到 Dropbox
【发布时间】:2014-10-06 08:30:18
【问题描述】:

我目前正在开发一个使用 SQLite 数据库的 Android 应用程序。我正在寻找如何在 Dropbox 等外部服务之间备份/恢复数据库的想法。我经历了一些解释,如下所示:

Android backup/restore: how to backup an internal database?

Backup/restore sqlite db in android

这些解释主要是关于本地备份,但我想备份到云端,就​​像我提到的那样,比如 Dropbox。

请帮忙... 在此先感谢...

【问题讨论】:

    标签: android sqlite backup dropbox restore


    【解决方案1】:

    使用答案here,您可以以 .db File 对象的形式获得对数据库的引用。

    final String inFileName = "/data/data/<your.app.package>/databases/foo.db";
    File dbFile = new File(inFileName);
    

    一旦你有了这个,就很容易使用Dropbox Sync API读/写到用户的Dropbox。

    • 备份:使用writeFromExistingFile()将此本地File写入Dropbox目录
    • 恢复:使用getReadStream() 获取FileInputStream,该FileInputStream 可以写入您的.db 文件所在的适当本地路径。

    【讨论】:

    • 感谢您的直接回答!但这也意味着我必须将保管箱登录信息保存在 sharedpreferences 中?如果我这样做,root 的 android 将能够查看信息。我可以在不弄乱备份/恢复过程的情况下应用加密吗?
    • 您使用startLink 验证用户使用您的应用程序。您没有保存任何登录信息,Dropbox SDK 会为您处理登录。一般来说,有根电话没有安全的解决方案。加密数据是没有用的,因为在 root 手机上任何人都可以找到解密密钥。
    猜你喜欢
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    相关资源
    最近更新 更多