我對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