根据我在这个线程中的查询结果,我决定我需要为我将要访问的媒体维护我自己的元数据数据库。看起来 MediaStore 是一个很好的开始,因为它会给我很多信息,并且由 MediaScanner 定期更新。在理想情况下,我会在 MediaStore 数据库中添加几列并修改 MediaScanner 以扫描相关的元数据源以更新这些列(对我来说很理想 - 在资源分配方面可能并不理想)。
对于那些了解媒体在 Android 中存储方式的人 - 我有哪些选择?我应该创建自己的 ContentProvider 数据库还是有办法做类似于向 MediaStore 数据库添加表的方法(即一个新表,其中包含与每个相关 ID 对应的条目以及我想要存储的每条新信息的列)? 有没有办法让 MediaScanner 在更新普通媒体数据库时更新我的数据库,如果是这样,这会被认为是错误的形式(即我应该等到我的应用程序打开来更新我的数据库)吗?这样的最佳实践是什么?