我对 Android 开发还很陌生,但是我无法理解内容提供程序,特别是为单应用程序、单数据库 SQLite 数据源创建一个内容提供程序的好处(如果有的话)。我可以看到,如果我想使用 Sync Adapter,我需要一个 Content Provider,但老实说,Sync API 实在是太平庸了,以至于我认为与使用 REST 滚动我自己的远程同步过程相比没有任何优势。
我还看到,通过在我的 SQLite DB 上实现内容提供程序,我得到了一个有保证的 Android 管理的单例,但我使用的是 AndroidAnnotations,它可以为我进行单例管理,而且从我读到的内容看来,它不是只要我正确管理打开的连接,甚至必须建议使用单例数据库助手。
我错过了什么吗?对于单个 DB 应用程序,Content Provider API 似乎非常低级且容易出错。专门“手动”管理 URI 映射并引入奇怪的抽象层似乎并没有增加太多价值。
那么本地 SQLite DB 的内容提供程序是否有价值?如果是这样,是否有一些框架可以为我生成我的 URI 映射,或者它是否严格地滚动你自己的?