Están almacenados en su music.db
archivo, el mío es /data/data/com.google.android.music/databases
; No estoy seguro de si esto es exactamente lo mismo en todos los dispositivos, pero supongo que probablemente lo sea.
Viven en una combinación de las tablas LISTS
y LISTITEMS
, que se definen como tales:
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>
Curiosamente, si está utilizando la nueva versión beta de Google Music, las listas de reproducción que cree no aparecen en otras aplicaciones, pero tienen entradas en la base de datos. Parece que esto posiblemente se deba a que el MusicSourceAccount
campo está configurado para su ID de cuenta de Google Music; otras aplicaciones lo establecen en 0, y aparecen en todas las aplicaciones que toman datos de la base de datos.