基于我在 this thread 中的查询结果,我决定我需要为我将要访问的媒体维护我自己的元数据数据库。似乎 MediaStore 是一个很好的开始,因为它会给我很多信息,并且由 MediaScanner 定期更新。在理想情况下,我会向 MediaStore 数据库添加一些列并修改 MediaScanner 以扫描元数据的相关来源以更新这些列(对我来说很理想 - 在资源分配方面可能并不理想)。
对于那些了解媒体在 Android 中存储方式的人——我有哪些选择?我应该创建自己的 ContentProvider 数据库还是有办法做一些类似于向 MediaStore 数据库添加表的事情(即一个新表,其中的条目对应于每个相关 ID 和我想存储的每条新信息的列)?有没有办法让 MediaScanner 在更新普通媒体数据库时更新我的数据库,如果是这样,那会被认为是错误的形式(即我应该等到我的应用程序打开后再更新我的数据库)?此类事情的最佳做法是什么?
最佳答案
做同样的事情,到目前为止,我决定走艰难的路(我没有找到更容易的方法):定期将我自己的数据库与媒体存储同步。
我现在正在与 genres 作斗争.但是我设法获得了一些相当好的同步结果(尽管仍然需要更彻底地测试性能)。
关于android - 维护扩展的 android 媒体数据库(如 MediaStore)的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3972540/