从另一个应用程序复制Android数据库?

Cod*_*ile 4 database sqlite android

我有两个版本的同一个应用程序.

当人们从免费版本升级到付费版本时,我希望将免费数据库复制到专业版数据库位置.

如果它属于另一个应用程序,有没有办法可以访问数据库文件?
该文件甚至属于应用程序还是通常可以通过文件系统访问?

最后,如何在不对其进行硬编码的情况下获取数据库文件的路径?

Com*_*are 5

如果它属于另一个应用程序,有没有办法可以访问数据库文件?

仅当两个应用程序共享用户标识并由相同的签名密钥签名时.

该文件甚至属于应用程序还是通常可以通过文件系统访问?

它可以通过filesystem(/data/data/your.package.goes.here/databases/whatever-you-called-the.db)获得,但同样,只有当两个应用程序共享一个用户ID并且由相同的签名密钥签名时才可用.

最后,如何在不对其进行硬编码的情况下获取数据库文件的路径?

您必须对其进行硬编码,或者至少对编译时已知的变量组件(包名称和数据库名称)进行硬编码.