什麼是實現數據庫框架的「Android方式」?Android數據庫最佳實踐?
這兩個目標:
- 它應該是足夠通用的,所以說「數據庫」可以通過網絡SQLite數據庫什麼的。
- 它應該是多線程安全的。 (更新:通過「線程安全」,我的意思是它不應該在主UI線程中運行,數據庫調用不應該相互衝突,並且系統應該知道如何將結果通信回主UI線程。)
- 更新時間:應該瞭解的配置改變(如改變手機方向)
這就是我從這裏聚集和Android文檔:
- 使用LoaderManager查詢數據。
- 創建ContentProvider(1 & 2使其線程安全)
- 在ContentProvider和數據之間放置額外的類。
但是,如何創建,更新和刪除數據?據我所知,LoaderManager僅用於查詢。我應該使用AsyncQueryHandler嗎?
更新: AsyncQueryHandler不知道配置更改。我讀過碎片可能是要走的路。或者...我必須確保我的AsyncQueryHandler實現處理配置更改。
關於目標1:相當困難的,但肯定的,ContentProvider的可以提供從遠程數據庫中,而不是本地SQLite數據庫的內容。聽起來像是一個很好的抽象使用 – zapl
我想問題是,所有這些似乎對我來說是碎片化的。我期待一個LoaderManager處理所有CRUD –
裝載機的一點是,他們是異步加載數據到主線程的效用。他們不打算對C,U或D做任何事情。只是幫助R(eading)。如果你想堅持Android的現有抽象系統,使用ContentProvider,因爲這是一個通用的CRUD接口,不限於任何類型的數據庫。 – zapl