Android:如何将SQLite数据库从一个应用程序复制到另一个应用程序

时间:2010-12-30 01:50:27

标签: android file sqlite copy io

我有一个使用SQLite数据库的精简版应用程序。我想在用户安装完整版本时将该数据库复制到应用程序的完整版本。

我已经写了一些代码来执行文件复制,但是lite数据库文件总是出现不可读的。文件在那里,我可以指向它,但我无法读取它来执行复制。

在Android documentation中,我们读到:

  

您可以直接在文件上保存文件   设备的内部存储。默认情况下,   文件保存到内部存储   对您的应用程序是私有的   其他应用程序无法访问它们   (用户也不能)。

注意单词“默认情况下”。

有没有办法可以覆盖该默认值并使我的其他应用程序可以读取SQLite文件?

谢谢。

1 个答案:

答案 0 :(得分:0)

我相信你有两个选择。

  1. 在创建时将sql数据库设置为world readable。您可以通过在openFileOutput()或openOrCreateDatabase()调用中设置适当的mode参数来完成此操作。
  2. 在两个应用程序的清单中设置sharedUserId属性,以便它们具有相同的用户ID。这将两个应用程序视为同一个用户,使两个应用程序都可以访问同一个私有文件集。