gpt4 book ai didi

android - 内容提供商或资源、 Activity 、服务合作

转载 作者:行者123 更新时间:2023-11-30 04:46:38 26 4
gpt4 key购买 nike

我有一个关于 Android 设计的简单方法问题。

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

我考虑过将 ContentProvider 用于实际的播放列表,认为这很简单,但我在 Internet 上可以找到的所有 ContentProvider 示例似乎都过于复杂或只涉及 SQLite。

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

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

谢谢大家的意见!-追逐

最佳答案

ContentProvider 可以随心所欲地保存委托(delegate)给它的数据。通常,这意味着 SQLite,因为到 ContentProvider 接口(interface)的映射是直观的。

但是,只要您的 ContentProvider 实现了 insert()、update()、delete() 和 query() 操作,(或者实现了使用提供者的应用程序需要实现的功能来完成它的工作)您可以使用您喜欢的任何机制保存进出数据。随意将其存储在 SQLite 数据库、文件或其他任何内容中。

请记住,您的 ContentProvider 可能会被终止并重新启动,甚至可能会被垃圾收集并稍后重新构造,因此您需要使用一些能够防止类消失和重新初始化的东西。

在您的情况下,您可能不关心重新启动后的持久性(谁关心重新启动后播放的音乐列表是否存在),因此静态变量中的某种列表应该足够了。

关于android - 内容提供商或资源、 Activity 、服务合作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4755984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com