我对Android开发相当陌生,但是在包装内容提供者方面遇到困难,特别是为单应用单数据库SQLite数据源创建一个优点(如果有的话)有什么好处。我可以看到,如果我想使用同步适配器,我需要一个内容提供程序,但老实说,Sync API是如此的不堪重负,以至于我认为使用REST来滚动我自己的远程同步过程没有任何优势。本地SQLite数据库的Android内容提供者:为什么?
我也看到,通过在我的SQLite数据库上实现一个Content Provider,我得到了一个有保证的Android管理的单身人士,但我使用的AndroidAnnotations可以为我做单身管理,我已经读过,即使我正确地管理我的打开的连接,甚至还必须建议使用单身DB辅助器。
我错过了什么吗?内容提供者API似乎令人惊讶的是对于单个数据库应用程序而言是低级且容易出错的。特别是“手动”管理URI映射并引入奇怪的抽象层看起来不会增加太多价值。
那么内容提供商对本地SQLite数据库有价值吗?如果是这样,是否有一些框架可以为我生成我的URI映射,还是严格推出自己的映射?
非常有用的答案,并没有意识到自定义搜索建议需要CP的,谢谢! ProviGen看起来也会有用。我是否正确地看到我也想使用Content Provider支持的适配器作为自动完成的数据源?我将处理一个自动完成功能,它至少有10k个可能的值,全部在我的数据库中。 – jkraybill
@jkraybill - yep。 [CursorAdapter](http://developer.android.com/reference/android/widget/CursorAdapter.html)完全符合'CursorLoader' - 你的'onLoadFinished(游标数据)'可以调用'mAdapter.swapCursor(data) '刷新适配器的数据。 – ianhanniballake