Androidは音楽プレイリストをどこに(どのように)保存しますか?


32

Androidは、音楽アプリ間で同じ音楽プレイリストを保持していることに気付きました。これらのプレイリストはどこに保存されますか?どのように(どのフォーマットで)保存されますか?USBストレージリンクを介してリモートでアクセスできますか、代わりにそれらのアクセスに使用できるアプリがありますか?

関連質問:音楽の転送とプレイリスト


回答:


24

それらはあなたのmusic.dbファイルに保存されています-私のものは/data/data/com.google.android.music/databases; これがすべてのデバイスでまったく同じかどうかはわかりませんが、おそらくそうだと思います。

これらはLISTSLISTITEMSテーブルとテーブルの組み合わせに存在し、次のように定義されます。

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 Music Betaを使用している場合、作成したプレイリストは他のアプリには表示されないようですが、DBにエントリがあります。これはおそらく、MusicSourceAccountフィールドがGoogle MusicアカウントIDに設定されているためと思われます。他のアプリは0に設定し、DBからデータを取得するすべてのアプリに表示されます。


1

XDA Developersから投稿を見つけました。

これを読んでいる人が上記のディレクトリで見つからない場合は、代わりにこれを試してください:

/data/data/com.android.providers.media/databases/external-{{some hex here}}.db

その後、それをコンピューターにコピーし、好みのSQLiteエディターを使用して、自分の意思でデータを操作できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.