它们存储在您的music.db
文件中-我的是/data/data/com.google.android.music/databases
; 我不确定在所有设备上这是否完全相同,但我想可能是这样。
它们存在于LISTS
和LISTITEMS
表的组合中,其定义如下:
sqlite> .schema lists
.schema lists
CREATE TABLE LISTS(Id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT NOT NULL,
SourceAccount INTEGER, SourceId TEXT, _sync_version TEXT,
_sync_dirty INTEGER NOT NULL DEFAULT 0, MediaStoreId INTEGER,
ListType INTEGER NOT NULL DEFAULT 0, ListArtworkLocation TEXT);
CREATE INDEX LIST_SYNC_INDEX on LISTS(SourceAccount,SourceId);
sqlite>
sqlite> .schema listitems
.schema listitems
CREATE TABLE LISTITEMS(Id INTEGER PRIMARY KEY AUTOINCREMENT,
ListId INTEGER NOT NULL REFERENCES LISTS, MusicSourceAccount INTEGER NOT NULL,
MusicSourceId TEXT NOT NULL, ClientPosition INTEGER NOT NULL,
ServerPosition INTEGER NOT NULL DEFAULT 0, SourceAccount INTEGER, SourceId TEXT,
_sync_version TEXT, _sync_dirty INTEGER NOT NULL DEFAULT 0,
ServerOrder TEXT DEFAULT '', ClientId TEXT);
CREATE INDEX LISTITEMS_ORDER_INDEX ON LISTITEMS (ListId, ServerOrder, ClientPosition);
CREATE INDEX LISTITEMS_SYNC_INDEX on LISTITEMS(SourceAccount,SourceId);
sqlite>
有趣的是,如果您使用的是新的Google音乐测试版,则您创建的播放列表似乎不会出现在其他应用中,但它们确实在数据库中具有条目。可能是因为该MusicSourceAccount
字段设置为您的Google音乐帐户ID;其他应用程序将其设置为0,则这些应用程序会出现在从数据库获取数据的所有应用程序中。