我的应用程序有两个版本,一个是免费版和专业版,而应用程序数据的内容提供程序需要在两者之间共享。
它的设计应牢记以下内容
可能的解决方案:
如果这有意义,请告诉我,并遵循共享内容提供商的最佳做法。请分享任何其他方式。
答案 0 :(得分:4)
我在市场上有3个应用程序,每个应用程序都有免费和付费版本。 对于给定的应用程序,我在Android共享库项目中有100%的代码,该项目从Free和Paid项目中引用。这些免费和付费的Android项目只是虚拟项目,仅对其AndroidManifest.xml有用。
如果您希望启用/禁用某些功能,您可以随时根据包名称在共享库中添加相关检查。
在您的代码中(在共享库中),您可以根据调用包区分Free或Paid以及启用/禁用功能。
if ("com.example.paid".equals(context.getPackageName()) {
//enable pro version features
}
你能不能做类似的事吗?这将为您节省大量的维护费用。
答案 1 :(得分:4)
所以这就是我最终做的事情:
结果:
答案 2 :(得分:1)
只是我的想法。
是否真的需要在设备中安装免费版和付费版?如果没有,您可以在用户首次启动付费版本时提供免费付费的复制功能。然后,用户可以删除免费版本并专门使用付费版本。
方法很好。但我发现它有一个问题。
内容提供商随时间变化会发生什么?假设您决定使用更多字段来增强内容提供程序。然后,用户应升级这两个版本,以便正确编写数据。
内容提供商会随着时间的推移保持不变吗?如果您决定付费版本将具有更多功能,从而捕获更多数据,该怎么办?