mysql两个android_在两个Android应用程序之间共享SQLite数据库?

您当然可以在两个应用程序之间共享一个数据库。

为了在应用程序之间共享数据(只要它们是由同一个发行者发布的),您需要在这两个应用程序的AndroidManifest.xml中指定一个共享的用户id。

(这是没有文档的,但是共享的用户id需要是至少一个点分隔符的字符串)

其余的操作都很简单,您不需要在数据库路径上乱搞。只需在两个应用程序中使用相同的DBAdapter即可。在承载数据库的应用程序中,使用本机上下文调用DBAdapter。DBadapter hostDBAdapter = new DbAdapter(getApplicationContext());performerDBadapter.open();

在第二个应用程序中,使用数据库托管应用程序的上下文访问数据库。

首先,定义共享上下文:Context sharedContext = null;

try {

sharedContext = this.createPackageContext("replace.with.host.package.name", Context.CONTEXT_INCLUDE_CODE);

if (sharedContext == null) {

return;

}

} catch (Exception e) {

String error = e.getMessage();

return;

}

然后使用共享上下文打开DBAdapter:DbAdapter sharedDBadapter = new PerformerDbAdapter(sharedContext);sharedDBadapter.open();

最后,如果在清单中设置共享用户id之前就存在数据库,则需要卸载/重新安装物理设备上的应用程序,以免将自己锁在数据库之外(Sqliterror 14)。另一方面,仿真器可能会被证明更宽容。总之,如果你的应用程序是在Android市场上发布的,那么在事后设置一个共享的用户ID是行不通的。

希望这能帮上忙。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值