2011-10-12 30 views
1

我是新來的android開發人員,我有一點點卡住了新的API,我似乎無法找到幫助的教程。在android中使用CursorLoader而不是startManagingCursor,數據庫訪問

我有一個SQLOpenHelper和一個數據庫適配器的數據庫,我在許多示例中使用過,如this。我想將數據連接到列表中,所以創建了一個ListFragment。我見過的教程使用Activity中的startManagingCursor(c)方法,但文檔說這是貶值並使用CursorLoader。

要使用CursorLoader它看起來像我需要一個URI,這意味着我需要一個內容提供者。我不需要爲我的應用程序提供內容提供商,所以我不知道如何實現這一點或者什麼是正確/推薦的方式。

推向正確的方向將是偉大的!

回答

2

從我閱讀和理解的內容來看,Android團隊鼓勵使用位於數據庫之前的ContentProvider。正如你可以看到CursorLoader,Android API也鼓勵這種使用模式。

如果這是小應用程序的最佳方法,不考慮討論,我認爲你不應該對抗API並使用ContentProvider。 CursorLoader爲您處理了很多東西,我發現它的工作非常好。

+0

OOh謝謝你,我不想爲此放置額外的代碼,但如果這是首選方法,那麼我會這樣做! :) 謝謝! – serenskye

+2

不客氣。如果您查看Google人員完成的任何Android應用,則他們都使用內容提供商。另外,不要忘記在AndroidManifest.xml中爲你的提供者使用android:exported =「false」。這樣,提供者僅適用於您的應用程序。 –

+0

@kaciula能否提供您閱讀資源的一些鏈接。我試圖瞭解所有這些,但還沒有找到任何官方消息。 – tidbeck

2

是的,使用ContentProvider,這是Google團隊鼓勵的。記住數據庫書籍中的三個層次:存儲,邏輯,應用程序。內容提供者充當邏輯。

相關問題