Ils sont stockés dans votre fichier music.db
- le mien est /data/data/com.google.android.music/databases
; je ne suis pas sûr si c'est exactement pareil sur tous les appareils mais je suppose que c'est probablement le cas.
Ils résident dans une combinaison des tables LISTS
et LISTITEMS
, qui sont définies comme suit :
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>
De façon intéressante, si vous utilisez le nouveau Google Music Beta, les listes de lecture que vous créez ne semblent pas apparaître dans d'autres applications mais elles ont des entrées dans la base de données. Il semblerait que cela soit possiblement dû au fait que le champ MusicSourceAccount
est défini sur l'identifiant de votre compte Google Music; d'autres applications le définissent à 0, et ceux-ci apparaissent dans toutes les applications qui récupèrent des données de la base de données.
0 votes
Voir aussi: Comment puis-je sauvegarder des listes de lecture ou extraire des informations de chemin+nom de fichier à partir d'elles (générées avec le lecteur MP3 intégré)?