Android MediaStore sqlite расположение базы данных - PullRequest
6 голосов
/ 29 августа 2010

Я пытаюсь найти базу данных sqlite, используемую MediaStore.Насколько я понимаю, MediaStore содержит, среди прочего, списки воспроизведения, определенные в приложении Music по умолчанию.Я действительно хотел бы дублировать плейлист, но приложение не позволяет этого.Каким-то образом я думал, что смогу это исправить, если просто найду фактический файл БД.Но теперь я совершенно отвлекся, потому что просто не могу найти БД.Кстати, я бегу FroYo.

Ответы [ 3 ]

11 голосов
/ 13 сентября 2010

Рассматривая исходный код Android , интересующий нас класс выглядит как android.provider.MediaStore, и там метод getDatabaseForUri() создает отдельную базу данных для каждой внешней карты памяти и однойназывается internal.db.

Так что я думаю, что файл, который вас интересует:

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

Однако моя копия этой базы данных не имеет таблицы audio_playlists, используемой висходный код Java, поэтому я не уверен, что это правильно.

4 голосов
/ 29 августа 2010

Правильный способ сделать это - использовать поставщика контента , чтобы запросить хранилище мультимедиа и внести любые изменения в таблицы оттуда.

Быстрый пример того, как вы будете запрашивать всех исполнителей в 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);
3 голосов
/ 16 января 2014

расположение:

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

audio_playlists не в таблицах, вы можете увидеть его в представленияхИнструмент sql: sqliteman, ubuntu13.10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...