2011-01-21 61 views
1

我有一個關於Android設計的簡單方法問題。內容提供者或資源,活動和服務合作

我想象一下我提供服務和活動的場景。服務和活動都需要讀取/寫入相同的數據。基本思想是一個實況播放列表:播放列表的服務在播放完畢後從列表中彈出一首歌曲,但應用程序還可以通過添加或刪除歌曲來編輯列表。

我認爲使用ContentProvider作爲實際的播放列表,認爲它會很簡單,但我可以在互聯網上找到的所有ContentProvider示例看起來病態地過於複雜或僅涉及SQLite。

另一種方法是在我的資源中保存一個簡單的文件,並從服務和應用程序中訪問它。

在這裏哪種方法似乎更好?如果我確實應該使用ContentProvider,有人可以指示我使用最簡單的實現,最好不涉及SQLite?從我之前的看,ContentProvider似乎過於複雜,因爲我的簡單目的。

感謝您的意見! -Chase

回答

1

ContentProvider可能會保留它所委託的數據,但它喜歡。通常,這意味着SQLite,因爲到ContentProvider界面的映射是直觀的。然而,只要你的ContentProvider實現了insert(),update(),delete()和query()操作(或者實現與使用提供者需要實現的應用程序一樣多的工作) )你可以使用你喜歡的任何機制來堅持進出數據。隨意將其存儲在SQLite數據庫,文件或其他任何東西。

請記住,您的ContentProvider可能會被殺死並重新啓動,甚至可能在稍後被垃圾收集和重新構建,所以您需要使用對遠離和正在重新初始化的類有效的內容。

在你的情況下,你可能不會在乎重新啓動(關心重新啓動後播放音樂列表),所以靜態變量中的某種列表應該足夠了。

相關問題