7

我正在尝试查找 MediaStore 使用的 sqlite 数据库。据我了解,MediaStore 包含默认音乐应用程序中定义的播放列表等。我实际上想复制一个播放列表,但该应用程序不允许这样做。不知何故,如果我能找到实际的数据库文件,我想我可以解决这个问题。但我现在完全走神了,因为我找不到数据库。顺便说一句,我正在运行 FroYo。

4

3 回答 3

14

查看我们感兴趣的类的 Android 源代码似乎android.provider.MediaStore在其中,该getDatabaseForUri()方法似乎为每个外部存储卡生成不同的数据库,其中一个名为internal.db.

所以我认为你感兴趣的文件是:

/data/data/com.android.providers.media/databases/internal.db

但是,我的该数据库副本没有audio_playlistsJava 源代码中使用的表,所以我不确定这是否正确。

于 2010-09-13T15:35:37.617 回答
4

执行此操作的正确方法是使用内容提供程序来查询媒体存储并从那里对表进行任何类型的修改。

如何查询 MediaStore 中所有艺术家的快速示例。

String[] proj = { MediaStore.Audio.Media._ID,
                        MediaStore.Audio.Media.DATA,
                        MediaStore.Audio.Media.DISPLAY_NAME,
                        MediaStore.Audio.Artists.ARTIST };
            //managed query doesn't need startManagingCursor called on the cursor
            Cursor c = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
                        proj, null, null, null);
于 2010-08-28T23:37:26.837 回答
3

地点是:

/data/data/com.android.providers.media/databases/internal.db

audio_playlists 不在 Tables 中,您可以在 Views 中看到它。sql工具是:sqliteman,ubuntu13.10

于 2014-01-16T07:17:26.807 回答