просматривать данные в базе данных Android SQLite - PullRequest
39 голосов
/ 27 марта 2010

Есть ли способ для пользователя Android просматривать базы данных SQLite на своем телефоне и просматривать данные в базах данных?

Я часто использую бета-версию SoftTrace. Это здорово, но я не могу найти способ загрузить данные, которые он отслеживает, на ПК.

Ответы [ 8 ]

26 голосов
/ 27 марта 2010

База данных для конкретного приложения находится в /data/data/[packagename]/databases

Имя_пакета - это пакет, который вы определяете в своем манифесте, например /data/data/org.vimtips.supacount/databases/counts.db.

. Вы можете просмотреть его с помощью adb shell и введите sqlite3 /data/data/org.vimtips.supacount/databases/counts.db

Или вы можете извлечь его из устройства, чтобы посмотреть на него с помощью сторонней утилиты, с помощью команды, подобной adb pull /data/data/org.vimtips.supacount/databases/counts.db ..

Это предполагает, что у вас есть разрешение напросмотреть базу данных, которой у вас могло бы не быть, если бы вы сами не писали приложение ... но в таком случае это действительно вопрос программирования?

18 голосов
/ 20 мая 2011

Если вы используете Eclipse, вы можете использовать плагин под названием «Questoid SQLite Browser» для просмотра базы данных SQL Lite на эмуляторе Android:

  1. Установить плагин
  2. Перезапустить затмение
  3. Запустите эмулятор
  4. Переключиться на DDMS
  5. Открыть базу данных с помощью плагина (как упоминалось ранее @synic, здесь находится БД, например, / data / data / my_project / database)

Вот более подробное руководство: http://www.tylerfrankenstein.com/browse-android-emulator-sqlite-database-eclipse

7 голосов
/ 19 февраля 2014

Вот метод free, который работал для меня на телефоне, который is not rooted. Кредит идет на этот SO ответ .

  1. Использование adb backup -f backup.ab -noapk app.package.name
  2. В Windows загрузите банку Android Backup Extractor, найденную на SourceForge здесь , затем запустите java -jar abe.jar unpack backup.ab extractedbackup.tar. В Linux вы можете следовать инструкциям dd из ответа, который я дал в начале.
  3. Загрузите SQLite Database Browser с SourceForge здесь , затем откройте файл db, содержащийся в extractedbackup.tar.

Лично, чтобы упростить этот процесс, я сначала добавил adb в мою среду PATH. Затем я сделал резервную копию папки, в которой хранятся все файлы, упомянутые выше. Это избавляет меня от необходимости использовать cd (сменить каталог) повсюду.

5 голосов
/ 17 сентября 2011

Плагин Questoid стоит 9 долларов и требует регистрации. Другой альтернативой в Windows является загрузка браузера SQLLite с открытым исходным кодом (ссылка ниже), а затем получение базы данных с телефона. В Eclipse вы можете сделать это из Обозревателя файлов, перейдя в каталог / data / data / [packagename] / database на телефоне или эмуляторе и нажав «Извлечь файл с устройства» в правом верхнем углу. Сохраните базу данных локально, затем откройте с помощью браузера SQLite.

http://sourceforge.net/projects/sqlitedbrowser/

4 голосов
/ 18 марта 2015

На самом деле самый доступный (но все еще хакерский) способ получения «живых» результатов из базы данных при разработке на эмуляторе , который я нашел, это:

  1. Создайте скрипт для извлечения базы данных из эмулятора, что-то вроде этого

    #!/bin/bash
    
    ANDROID_HOME=/path/to/sdk
    ADB=$ANDROID_HOME/platform-tools/adb
    REMOTE_DB_PATH=/data/data/com.yourpackage.name/databases/your_db
    LOCAL_DB_PATH=.
    
    while true; do
    
      echo copying DB...
      `$ADB pull $REMOTE_DB_PATH $LOCAL_DB_PATH`
      sleep 3
    
    done
    

    Запустите его.

  2. Установка Плагин SQLite Manager для Firefox

  3. Откройте вашу локальную копию базы данных (которая постоянно перезаписывается запущенным сценарием с шага 1)

  4. Введите ваш SQL:

    enter image description here

  5. Выбрать File->Reconnect

  6. Нажмите Run SQL

Основная хитрость заключается в том, что повторное подключение не сбрасывает SQL, введенный на шаге 4 (как это происходит, например, в Браузер SQLite ), поэтому вы можете повторить шаги 5,6 чтобы увидеть "живые" результаты из вашей базы данных Android.

Обратите внимание, что это работает только для эмулятора, оно не будет работать для реального устройства (даже для рутованного).

3 голосов
/ 21 июля 2014

Вы можете просмотреть свою базу данных из своего приложения, используя эту библиотеку. https://github.com/sanathp/DatabaseManager_For_Android

С помощью этой библиотеки вы можете управлять базой данных SQLite своего приложения из самого приложения. Вы можете просматривать таблицы в базе данных приложения, обновлять, удалять, вставлять строки в свои таблицы

Это один файл активности java, просто добавьте файл java в исходную папку. Когда разработка будет завершена, удалите файл java из папки src, которая его содержит.

Это мне очень помогло. Надеюсь, это поможет и вам.

Демонстрацию за 1 минуту можно посмотреть здесь: http://youtu.be/P5vpaGoBlBY

3 голосов
/ 22 мая 2014

Если вам повезло получить IntelliJ Ultimate, вы можете подключить устройство, открыть вкладку «База данных» справа, нажать +, выбрать SQLite. Остальное тривиально.

Следует помнить одну вещь: вам нужно постоянно нажимать кнопку «Синхронизировать» в базе данных (или в выбранной таблице), чтобы увидеть внесенные изменения, что очень раздражает.

1 голос
/ 24 августа 2015

См. этот ответ. Вы можете использовать библиотеку Stetho из Facebook, а затем просто просмотреть свою базу данных в Chrome:)

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