当底层数据库更新时,MediaStore 的游标会发生什么情况?
在我的应用程序(用于大学项目的小型 mp3 播放器)中,我正在执行查询 MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
。目前,我正在将歌曲缓存到数组中,但我正在考虑将其移至仅使用 Cursor
对象。
我可以看到一些问题:
- 底层数据库可以更新(Android 设备检测到添加或删除歌曲)
- 歌曲在数据库未更新的情况下被删除。
对于第一点:
- 当数据库更新时,游标会发生什么?
- 如何检测 MediaStore 何时更新?
对于第二点:
- 我唯一能做的就是尝试访问资源并查看它是否失败来检测这一点?
In my app (a small mp3-player for an university project) I'm doing query MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
. Currently, I'm caching the songs to an array, but I'm thinking of moving it over to just using the Cursor
object.
I can see a few problems:
- The underlying database can get updated (the Android device detected a song getting added or removed)
- A song gets removed without the database getting updated.
For the first point:
- what happens to the cursor when the database gets updated?
- How can I detect when MediaStore gets updated?
For the second point:
- Is the only thing I can do to detect this to try to access the resource and see whether it fails?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论