如何将Android上的SQLite数据库备份/恢复到Dropbox
问题描述:
我目前正在开发一个使用SQLite数据库的Android应用程序。我在寻找如何将数据库备份到Dropbox等外部服务或从中恢复数据库的想法。我经历了一些解释了诸如以下:如何将Android上的SQLite数据库备份/恢复到Dropbox
Android backup/restore: how to backup an internal database?
Backup/restore sqlite db in android
这些解释主要是关于本地备份,但是我想备份到云中,正如我所说,类似Dropbox的。
请帮助... 在此先感谢...
答
使用答案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
可以写入到您的.db文件转到相应的本地路径。
感谢您的直接回答!但这也意味着我必须将收件箱登录信息保存在sharedpreferences中?如果我,根植Android的将能够查看信息。我可以应用加密而不会搞乱备份/恢复过程吗? – 2014-10-06 20:04:34
您验证用户使用[startLink](https://www.dropbox.com/developers/sync/docs/android#com.dropbox.sync.android.DbxAccountManager.startLink)使用您的应用程序。您没有登录信息保存,Dropbox SDK负责为您进行登录。一般来说,没有安全的解决方案用于固定电话。加密数据是没有用的,因为在有根的手机上任何人都可以找到解密密钥。 – Nachi 2014-10-08 08:12:32
谢谢!解决了我的发现... – 2014-10-08 11:56:41