Ils sont stockés dans votre music.db
fichier - le mien l'est /data/data/com.google.android.music/databases
; Je ne sais pas si c'est exactement la même chose sur tous les appareils, mais je suppose que c'est probablement le cas.
Ils vivent dans une combinaison des tables LISTS
et LISTITEMS
, qui sont définies comme telles:
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>
Il est intéressant de noter que si vous utilisez la nouvelle version bêta de Google Music, les listes de lecture que vous créez ne semblent pas apparaître dans les autres applications, mais elles ont des entrées dans la base de données. Cela semble être dû au fait que le MusicSourceAccount
champ est défini sur votre identifiant de compte Google Music; d'autres applications la définissent sur 0, et celles-ci apparaissent dans toutes les applications qui prennent des données de la base de données.