Android MediaStore中_ID列的独特之处是什么?

时间:2013-07-12 08:13:16

标签: android

我正在开发一款能够将播放列表(音乐集合)保存到磁盘的Android音乐播放器应用。但是我得到了一些问题,我用谷歌搜索了它,但没有什么能让我满意。

我发现的大多数教程/指南始终使用_ID(据我所知它具有整数/长数据类型)来区分彼此之间的音乐文件。它有多独特?

我所说的独特性可以这样描述:

  1. 我发现_ID看起来像序列号。如果我添加/删除音乐会发生什么,另一个音乐的ID会被更改吗?
  2. 将播放列表数据存储为音乐ID列表是否安全?用户对磁盘上音乐文件的更改是否会保留播放列表?
  3. 感谢。

2 个答案:

答案 0 :(得分:4)

虽然这是一个老问题,但上述答案不正确。只需删除或添加新音乐即可,因为Android会为其指定自动增量_id。但是,当您只是移动文件(在您的情况下是一首歌曲)时,_id列会更改值!这几乎就像MediaStore首先删除条目然后创建一个新条目。

因此,对于您的观点2,当用户移动他们的歌曲时,这些ID可能会变得陈旧。

答案 1 :(得分:2)

_ID是唯一的。就像数据库一样,ID通常是自动增量的。因此,如果添加了一个项目,它将使用之前添加的ID + 1.因此,如果删除项目,则数据库中的其他ID不会更改(因此会有间隙=>无后顾之忧)

因此对于问题2,这是安全的。

相关问题