从一个应用程序中的数据库在另一个应用程序中运行 SQLite 命令
我有一个 SQLite 数据库,存储在一个应用程序的 asset 资源中,用于将 UI 和其他内容加载到应用程序中,主要只是保存文本,没有任何异常。我希望能够获得该数据库的可写版本,以便我可以从另一个应用程序修改它。
示例:
市场上第一个应用程序的启用功能数量有限。用户到达一定程度后,他们需要购买额外的内容才能在应用程序中执行更多操作。原始应用程序具有这些功能,但在使用数据库的应用程序中未启用它们。然后,我希望用户从市场下载第二个应用程序,该应用程序仅用于将数据库中的一个字段从禁用更改为启用,从而解锁新功能。
我有一个想法,我可能需要使用内容提供商,但我的理解是,一旦创建,所有应用程序都可以访问它们。我认为出于盗版原因,我需要它只能与由我的密钥签名的应用程序进行通信。
谢谢
I have an SQLite database stored in the assets
resources of one application used to load UI and other stuff into the app, mainly just holding text nothing out of the ordinary. I want to be able to get a writable version of this database so I can modify it from another application.
Example:
First application is on the market with limited number of enabled features. User gets to a certain point where they need to buy extra content to do more stuff in the app. The original app has these features but they are not enabled in the app using the database. I want the user then to download a second app from the market which is just used to change one field in the database from disabled to enabled thus unlocking the new features.
I have an idea I may need to use content providers but my understanding is once created they are accessible to all applications. I need it, for piracy reasons I guess, to only be able to communicate with apps signed off by my key.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
萨姆,
我明白你打算做什么,但你的做法是错误的。您的“解锁应用程序”将无法修改“免费应用程序”的资产文件夹中的数据库。这只是一般的 Android 安全模型内容。
您可能想看看这个问题:我如何使用我的应用程序的付费版本作为免费版本的“钥匙”?
它描述了如何在市场上创建“解锁应用程序”以解锁“免费应用程序”的功能,而无需实际修改“免费应用程序”中的任何原始数据。
祝你好运
Sam,
I understand what you intend to do, but you are going about it the wrong way. Your 'Unlock App' would not be able to modify the Database in the assets folder of your 'Free App'. That's just general android security model stuff.
You may want to look at this question: How can I use the paid version of my app as a "key" to the free version?
It describes how you can create a 'Unlock App' on the market to unlock features of your 'Free app' without needing to actually modify any of the original data in the 'Free App'.
Good luck