2011-01-21 63 views
1

我有一个关于Android设计的简单方法问题。内容提供者或资源,活动和服务合作

我想象一下我提供服务和活动的场景。服务和活动都需要读取/写入相同的数据。基本思想是一个实况播放列表:播放列表的服务在播放完毕后从列表中弹出一首歌曲,但应用程序还可以通过添加或删除歌曲来编辑列表。

我认为使用ContentProvider作为实际的播放列表,认为它会很简单,但我可以在互联网上找到的所有ContentProvider示例看起来病态地过于复杂或仅涉及SQLite。

另一种方法是在我的资源中保存一个简单的文件,并从服务和应用程序中访问它。

在这里哪种方法似乎更好?如果我确实应该使用ContentProvider,有人可以指示我使用最简单的实现,最好不涉及SQLite?从我之前的看,ContentProvider似乎过于复杂,因为我的简单目的。

感谢您的意见! -Chase

回答

1

ContentProvider可能会保留它所委托的数据,但它喜欢。通常,这意味着SQLite,因为到ContentProvider界面的映射是直观的。然而,只要你的ContentProvider实现了insert(),update(),delete()和query()操作(或者实现与使用提供者需要实现的应用程序一样多的工作) )你可以使用你喜欢的任何机制来坚持进出数据。随意将其存储在SQLite数据库,文件或其他任何东西。

请记住,您的ContentProvider可能会被杀死并重新启动,甚至可能在稍后被垃圾收集和重新构建,所以您需要使用对远离和正在重新初始化的类有效的内容。

在你的情况下,你可能不会在乎重新启动(关心重新启动后播放音乐列表),所以静态变量中的某种列表应该足够了。

相关问题