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

Database 从另一个应用程序复制Android数据库?,database,android,sqlite,Database,Android,Sqlite,我有两个相同应用程序的版本 当人们从免费版本升级到付费版本时,我希望将免费数据库复制到pro数据库位置 如果数据库文件属于另一个应用程序,是否有办法访问该文件本身? 文件是否属于应用程序,或者通常可以通过文件系统访问 最后,如何在不硬编码的情况下获取数据库文件的路径?数据库文件位于哪里?如果它在SD卡上,那么您可能可以直接访问它。如果您已经在私有应用程序目录中创建了数据库,那么您将无法触摸它。你可以在你的应用程序的免费版本中定义一个内容提供商,专业版可以使用它来提取数据库中存储的所有信息 有什么

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

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

如果数据库文件属于另一个应用程序,是否有办法访问该文件本身?
文件是否属于应用程序,或者通常可以通过文件系统访问


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

数据库文件位于哪里?如果它在SD卡上,那么您可能可以直接访问它。如果您已经在私有应用程序目录中创建了数据库,那么您将无法触摸它。你可以在你的应用程序的免费版本中定义一个内容提供商,专业版可以使用它来提取数据库中存储的所有信息

有什么方法可以让我访问 数据库文件本身(如果它属于 另一个应用程序

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

该文件是否属于 是应用还是一般 可以通过文件系统访问吗

它将通过文件系统(
/data/data/your.package.goes.here/databases/where您称之为.db的任何文件)提供,但同样,只有当两个应用程序共享一个用户ID并由相同的签名密钥签名时,才可以使用

最后,我如何找到通往 数据库文件没有硬编码吗


您必须对其进行硬编码,或者至少对变量组件(包名和数据库名)进行硬编码,这两个组件您在编译时就已经知道了。

我使用的是android内置的SQLite数据库支持。应用程序管理数据库文件和位置。我是否可以使用意图请求副本?可能。没有什么内在的原因。但是,如果没有打开任何数据库句柄,它只是一个文件,因此你可以根据广播意图或其他内容复制到SD卡。我想我将在我的免费版本中创建一个专门用于传输的小活动。出于这个目的,我将启动tractivityforresult,它将数据库复制到公共存储中,专业版将在返回结果时导入它。\u OK,就是这样。我会发布一个完整的解决方案,当我让它工作。你有任何解决方案吗?请帮我做这个?