感谢。
答案 0 :(得分:3)
虽然这完全是一个没有任何细节的糟糕问题,但我想就此提出自己的想法。
我们在公司里谈了这么多。我留下了使用AIDL
实现的数据库共享代码,以跨进程共享数据。问题是它太复杂了。有一些类可以访问要绑定的服务。
我删除了那些AIDL
文件和服务,并写了ContentProvider
。我使用了以下库,它真的很有帮助。
https://github.com/TimotheeJeannin/ProviGen
我们将向第三方开发者公开提供数据库访问权限。所以我还写了一个包含数据库常见操作的SDK,如query/insert/delete
。例如,他们可以只提供要删除的对象,SDK会将其转换为DELETE
ContentProvider
查询。
但是我们还公开了列名和CONTENT_URI
以便在ContentLoader
中使用的DB真的非常好。我们在内部使用Loaders
。