Просмотр содержимого файла базы данных в Android Studio


251

Я использую Android Studio для разработки своего приложения с момента его выпуска.

До недавнего времени все работало хорошо, приходится отлаживать вместе с проверкой файла базы данных. Поскольку я не знаю, как просмотреть базу данных напрямую, при отладке для создания файла базы данных я должен экспортировать файл базы данных со своего телефона на ПК.

Для этого мне нужно открыть DDMS > File Explorer. Как только я открываю DDMS, мне нужно снова подключить USB, и я теряю поток отладки. После проверки файла базы данных я должен закрыть DDMS и снова подключить USB, чтобы вернуться в режим отладки.

Это слишком сложно. У кого-нибудь есть лучший способ сделать это в Android Studio (я знаю, что в Eclipse это проще)?


Ответы:


302

Просмотр баз из Android Studio:

Изменить: Чтобы просмотреть базу данных на эмуляторе, выполните следующие действия (для реального устройства, прокрутите вниз):

  1. Загрузите и установите SQLiteBrowser .

  2. Скопируйте базу данных с устройства на компьютер:

    • Версии Android Studio <3.0 :

      • Открыть DDMS черезTools > Android > Android Device Monitor

      • Нажмите на ваше устройство слева.
        Вы должны увидеть ваше заявление: введите описание изображения здесь

      • Перейдите в Проводник (одна из вкладок справа), перейдите в/data/data/databases введите описание изображения здесь

      • Выберите базу данных , просто нажав на нее.

      • Перейдите в верхний правый угол окна Android Device Monitor. Нажмите на кнопку « извлечь файл с устройства »: введите описание изображения здесь

      • Откроется окно с вопросом, где вы хотите сохранить файл базы данных. Сохраните его где угодно на своем ПК.

    • Версии Android Studio> = 3.0 :

      • Откройте Обозреватель файлов устройства черезView > Tool Windows > Device File Explorer

      • Перейдите туда data > data > PACKAGE_NAME > database, где PACKAGE_NAME - это имя вашего пакета ( в приведенном выше примере это com.Movie )

      • Щелкните правой кнопкой мыши на базе данных и выберите Save As.... Сохраните его где угодно на своем ПК.

  3. Теперь откройте установленный вами SQLiteBrowser . Нажмите « открыть базу данных », перейдите к месту, в котором вы сохранили файл базы данных, и откройте . Теперь вы можете просматривать содержимое вашей базы данных.


Для просмотра вашей базы данных на вашем мобильном устройстве:

Перейдите в этот репозиторий Github и следуйте инструкциям в файле readme, чтобы иметь возможность просматривать вашу базу данных на вашем устройстве. То, что вы получаете, выглядит примерно так:

введите описание изображения здесь

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


2
для меня это правильный ответ, потому что подсказка с помощью инструмента sqlitebrowser - это круто. Thank's
Ману Цзы,

26
/ data не раскрывается в файловом обозревателе Device Monitor, я думаю, что он недоступен, поскольку перечисление записей в каталоге / data или / data / data требует доступа суперпользователя. Я все еще могу получить доступ к файлам моей базы данных через оболочку adb с правами su. Есть идеи, как получить доступ su в файловом менеджере?
Сараванабалаги Рамачандран

2
@ZekeDran, да, метод показывает только данные из эмулятора, а не вашего устройства. Я добавил шаги для просмотра базы данных на вашем устройстве. Проверьте редактирование
Ojonugwa Jude Ochalifu

11
Это работает, но эмулятор должен работать не более API 23. Если вы используете API 25, то в проводнике файлов нет содержимого
Manos

2
Менеджер баз данных по вашей ссылке на Github работает на меня! Также есть возможность тестировать запросы!
basti12354

199

Подключитесь к Sqlite3 через ADB Shell

Я не нашел никакого способа сделать это в Android Studio, но я получаю доступ к БД с помощью удаленной оболочки вместо того, чтобы извлекать файл каждый раз.

Найти всю информацию здесь: http://developer.android.com/tools/help/adb.html#sqlite

1- Перейдите в папку с инструментами платформы в командной строке

2- Введите команду, adb devicesчтобы получить список ваших устройств

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx   device

3- Подключите оболочку к вашему устройству:

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell

4- Перейдите в папку, содержащую ваш файл базы данных:

cd data/data/<your-package-name>/databases/

5 - запустите sqlite3 для подключения к вашей БД:

sqlite3 <your-db-name>.db

6 - запустите команды sqlite3, которые вам нравятся, например:

Select * from table1 where ...;

Примечание. Найдите другие команды для запуска ниже.

SQLite шпаргалка

Есть несколько шагов для просмотра таблиц в базе данных SQLite:

  1. Перечислите таблицы в своей базе данных:

    .tables
  2. Перечислите, как выглядит таблица:

    .schema tablename
  3. Распечатать всю таблицу:

    SELECT * FROM tablename;
  4. Перечислите все доступные команды приглашения SQLite:

    .help

17
я получаю отказано в разрешении на шаге 4, что вы думаете?
Адриан Олар

4
Возможно, вам придется рутировать ваш avd и / или запускать adb от имени root на шаге 3 «root adb -s emulator-xxxx shell»
Distwo,

2
Шаг 5: sqlite3 не найден. Зачем?
Сабсаб

3
Потому что вам нужно установить, чтобы использовать
Павел Пака-Вака Селезнев

12
Мне лично было отказано в разрешении при попытке доступа к папке с базами данных , запуск run-as your.package.nameсделал свое дело.
Yann39

83

Я на самом деле очень удивлен, что никто не дал это решение:

Посмотрите на Стето .

Я использовал Stetho несколько раз для разных целей (один из них - проверка базы данных). На реальном веб-сайте они также рассказывают о возможностях проверки сети и просмотра иерархии представлений.

Для этого требуется лишь небольшая настройка: 1 добавление зависимостей gradle (которое можно закомментировать для производственных сборок), несколько строк кода для создания экземпляра Stetho и браузер Chrome (поскольку он использует Chrome devtools для всего).

Обновление : теперь вы можете использовать Stetho для просмотра файлов Realm (если вы используете Realm вместо базы данных SQLite): https://github.com/uPhyca/stetho-realm

Обновление № 2 : Теперь вы можете использовать Stetho для просмотра документов Couchbase: https://github.com/RobotPajamas/Stetho-Couchbase

Обновление № 3 : Facebook сосредотачивает усилия на добавлении всех функций Stetho в свой новый инструмент, Flipper. У Flipper уже есть много функций, которые есть у Stetho. Итак, сейчас самое время сделать переключатель. https://fbflipper.com/docs/stetho.html


9
Спасибо большое. Чтобы быть более простым, 1. compile 'com.facebook.stetho:stetho:1.3.1' и 2. добавьте этот код Stetho.initializeWithDefaults(this);и 3.chrome://inspect/#devices
Фрэнк Мит Чт

2
Очень просто, вы можете увидеть данные из базы данных без сторонних инструментов, внутри браузера Chrome.
Матеус Викари

Не забывайте, Stetho.initializeWithDefaults(this);должен быть в Applicationклассе.
wonsuc

1
Отличный инструмент. Ваше приложение будет указано на странице #devices, если вы правильно выполнили настройку. Нажмите Inspect, затем перейдите в раздел Ресурсы> Web SQL> [db_name] и вы можете написать свои операторы sqlite.
Брэд

73

Самый простой способ, когда не используется эмулятор

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit
$ cp /data/data/your.package.name/databases/database_name /sdcard
$ run-as your.package.name # Optional
$ chmod 660 databases/database_name # Optional
$ chmod 660 databases # Optional
$ exit # Optional
$ exit
$ adb pull /sdcard/database_name

Предостережения:

Я не проверял это некоторое время. Это может не работать на API> = 25. Если команда cp не работает, попробуйте выполнить одно из следующих действий:

# Pick a writeable directory <dir> other than /sdcard
$ cp /data/data/your.package.name/databases/database_name <dir>

# Exit and pull from the terminal on your PC
$ exit
$ adb pull /data/data/your.package.name/databases/database_name

Объяснение:

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

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit # Closes the shell started with run-as

Затем мы копируем базу данных в мировой читаемый / записываемый каталог. Это позволяет пользователю adb pull доступ.

$ cp /data/data/your.package.name/databases/database_name /sdcard

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

$ run-as your.package.name
$ chmod 660 databases/database_name 
$ chmod 660 databases
$ exit # Exit the shell started with run-as

Наконец, скопируйте базу данных на локальный диск.

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name

4
У меня проблемы со 2-й командой: run-as. Я получаю "com.mycompany.myappname" неизвестно. И да, я уверен, что я использую правильное имя пакета!
Скотт Биггс

1
@PhuLai вы пробовали другое устройство? На каком устройстве происходит сбой?
скончался трижды

1
Я пытался с Nexus 6P, API 25. Я думаю, что этот метод не будет работать на новых версиях Android.
Foo

chmod 660 databases/database_nameдолжно быть раньшеchmod 660 databases
Алаа М.

@PhuLai - я тоже это получил, а затем попытался пропустить cpкоманду и просто выполнить pullизвне (после изменения разрешений), и это сработало ( adb pull data/data/package.name/databases/db_name.db)
Alaa M.

52

В Android Studio 3 и выше Вы можете увидеть раздел «Обозреватель файлов устройств» в правой нижней части Android Studio.

Откройте его, затем вы увидите дерево файлов, вы можете найти базы данных приложения по этому пути:

/data/data/{package_name}/databases/

введите описание изображения здесь


2
Когда я дважды щелкаю по файлу БД для своего приложения, в нем отображаются все нечитаемые символы. Какой читатель SQLite вы используете для просмотра содержимого БД?
Surekha

4
Я рекомендую sqlitebrowser.org бесплатно, с открытым исходным кодом и доступна для всех платформ.
Али Зейнали

3
мой файл database.db не содержит таблиц.
Бинил

Папка пуста. Ошибка: run-as: Could not set capabilities: Operation not permitted. Устройство Samsung: stackoverflow.com/questions/37413667/…
O-9

25

Наконец, я нашел простейшее решение, которое не нужно открывать DDMS.

На самом деле, решение основано на том, что упомянул @Distwo, но оно не должно быть таким сложным.

Во-первых , запомните путь к файлу базы данных на устройстве, он всегда должен быть одинаковым. Например мой это:/data/data/com.XXX.module/databases/com.XXX.module.database

Во-вторых , выполните эту команду, которая переносит файл вашей базы данных на ваш компьютер.

 adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/

Что вам нужно сделать, это просто скопировать и сохранить эту команду, а затем вы можете использовать ее снова и снова.

В-третьих , если вы получили отказ в разрешении или что-то в этом роде, просто запустите adb rootперед предыдущей командой.


9
Запуск adb rootне работает на моем телефоне. Распечатывает adbd cannot run as root in production builds. После запуска adb rootкоманда pull просто зависает, и мне нужно остановить ее вручную.
LaDude

@Daniela попробуйте run-as your.package.nameэто "войти" как пользователь, принадлежащий вашему приложению
m02ph3u5

Используйте команду выше, чтобы скопировать файл .db на рабочий стол, установить плагин браузера SQLiteManager в Firefox и начать просмотр. 2 минуты работы!
JaydeepW

эта команда root была для эмулятора, вы не можете просто запустить эту команду и получить root права на свой «телефон».
Дарпан

1
все сделано, есть база данных .db. файл, НО этот файл database.db не содержит таблиц
Binil

16

Попробуйте этот плагин для Android Studio SQLScout . Вы можете просматривать и редактировать базу данных своего приложения в режиме реального времени.

SQLScout

Изменить: Помните, что это платный плагин, но есть 24-часовой пробный период и подходит для головной боли.


17
Это платный продукт, вы забыли упомянуть.
Ишахак

58
не совсем, у него есть 24-часовая пробная версия, я планировал свое будущее как разработчик более чем на 24 часа.
Ишахак

К сожалению, это не бесплатно.
К.Софейк

Пробное время составляет всего 36 часов.
Махди Мокадаси

9

После прохождения всех решений я предложу

Используйте Stethos
Давайте посмотрим, как это просто

Добавьте следующие зависимости в файл build.gradle

compile 'com.facebook.stetho:stetho:1.5.0'
compile 'com.facebook.stetho:stetho-js-rhino:1.4.2'

Затем перейдите к методу mainActivity onCreate и добавьте следующую строку

Stetho.initializeWithDefaults(this);

это потребует от вас

import com.facebook.stetho.Stetho;

Теперь при запуске приложения из Android Studio, Open Chrome и в адресной строке введите
chrome: // inspect /

на вкладке ресурсов> веб-SQL проверьте базу данных и играть в нее в режиме реального времени легко


Комната просто нормальная, ничего не меняется с точки зрения sql, она работает точно так же
ShankPossible

9

Самый простой способ - использовать библиотеку Android Debug Database (7,3 тыс. Звезд на GitHub) .

Android-Debug-Database

Преимущества:

  • Быстрая реализация
  • Посмотреть все базы данных и общие настройки
  • Непосредственно редактировать, удалять, создавать значения базы данных
  • Запустите любой запрос SQLite к указанной базе данных.
  • Поиск в ваших данных
  • Скачать базу данных
  • Добавление пользовательских файлов базы данных
  • Нет необходимости рутировать устройство

Как пользоваться:

  1. Добавить debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'к build.gradle (module);
  2. Запустить приложение;
  3. Найдите ссылку отладки в логах (в LogCat) (т.е. D/DebugDB: Open http://192.168.232.2:8080 in your browserссылка будет другой) и откройте ее в браузере;
  4. Наслаждайтесь мощным инструментом отладки!

Важный:

  • К сожалению , не работает с эмуляторами
  • Если вы используете его через USB, запустите adb forward tcp:8080 tcp:8080
  • Ваш телефон Android и ноутбук должны быть подключены к одной сети (Wi-Fi или LAN)

Для получения дополнительной информации перейдите на страницу библиотеки на GitHub.


1
Это лучший и менее болезненный процесс! Спасибо Даниэль
Судип

5

Простой и удобный способ просмотра содержимого базы данных в Android Studio .

# Для Android Studio 4.1 Canary 6 и выше

Вы можете использовать очень простую функцию Android Studio Database Inspector . Где вы можете просматривать, запрашивать и изменять базы данных вашего приложения, используя новый инспектор баз данных. Например, вы можете отладить работающее приложение, изменив значения в вашей базе данных и протестировав эти изменения на устройстве в режиме реального времени, не выходя из Android Studio .

Для начала разверните приложение на устройстве с API-интерфейсом уровня 26 или выше и выберите « Вид»> «Инструмент Windows»> «Инспектор баз данных» в строке меню.

# Для Android Studio 4.0 и ниже

Сначала установите плагин Database Navigator в Android Studio

введите описание изображения здесь

Во-вторых , перезагрузите Android Studio

В-третьих , сохраните базу данных в папку по умолчанию, например: (C: \ Users \ Имя пользователя \ Documents \ AndroidStudio \ DeviceExplorer \ emulator или device \ data \ data \ имя пакета \ database)

введите описание изображения здесь

В-четвертых , подключите сохраненный файл dbname_db в Database Navigator

введите описание изображения здесь введите описание изображения здесь

Укажите тот же путь к файлу БД, который используется на третьем этапе

т.е. (C: \ Users \ Имя пользователя \ Documents \ AndroidStudio \ DeviceExplorer \ emulator или device \ data \ data \ имя пакета \ database \ package naem \ dbname_db)

Наконец , просто проверьте соединение с БД, откройте консоль и делайте все, что хотите.

введите описание изображения здесь

Если вы хотите обновить БД, просто повторите шаг Второй и просто сохраните его или обновите.

СЧАСТЛИВЫЕ КОДИРОВАНИЕ !!!!!


3
Это решение требует много усилий для вашей повседневной работы. И при каждом изменении в базе данных вам нужно перезагрузить файл sql - кажется немного сложным. Я предпочитаю использовать некоторые плагины, которые дают возможность просматривать базу данных на локальном сервере
Максим Петлюк

1
Да, вы правы, пока нет обновления данных в реальном времени в Database Navigator, я надеюсь, что он скоро обновит свои плагины.
Набин

Точно, это была бы отличная особенность
Максим Петлюк

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

Мне всегда нужно делать сохранение, чтобы обновить базу данных? Есть ли более простой способ, как в MySQL, все, что мне нужно, это нажать кнопку обновления.
ア ド リ ュ ー ラ イ ア ン ア

4

Чтобы узнать, где хранится база данных sqlite, созданная вами в Android Studio, вам необходимо выполнить следующие простые шаги:

1.Run your application
2.Go to Tools--->Android---->Device Monitor
3.Find your application name in left panel
4.Then click on File Explorer tab
5.Select data folder
6.Select data folder again and find your app or module name
7.Click on your  database name
8.On right-top window you have an option to pull file from device.
9.Click it and save it on your PC
10.Use FireFox Sqlite manager to attach it to your project.

Для получения дополнительной информации эта ссылка будет полезна. http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

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

Скачать браузер с http://sqlitebrowser.org/

Вот скриншот, показывающий браузер, содержащий базу данных регистров

Спасибо,


3

Самый простой способ - подключить устройство и запустить Android Studio Then From Tool Bar:

  1. Вид -> Окно Инструменты -> Обозреватель файлов устройства
  2. Зайдите в данные / данные и найдите ваш пакет
  3. найдите файл БД, который вы хотите изучить, и загрузите его
  4. Я рекомендую этот онлайн-инструмент: https://sqliteonline.com/ для изучения файла БД.

Другой способ - использовать библиотеку Stetho:

  1. Добавьте зависимость Stello в ваш build.gradle:

    скомпилируйте 'com.facebook.stetho: stetho: 1.5.0'

  2. Поместите следующую строку в onCreate () вашего класса Application или основного Activity:

    Stetho.initializeWithDefaults (это);

  3. Подключите ваше устройство, запустите приложение и зайдите на следующий сайт в Chrome:

    хром: // инспектировать / # устройств

и это все. Теперь вы можете исследовать свои таблицы.

Примечание. Рекомендуется удалить зависимость перед переходом к производству.


3

Если вы хотите просматривать свои базы данных из ANDROID STUDIO, вот что я использую:

Перейдите в Файлы / Настройки / Плагины и найдите это:

введите описание изображения здесь

... После перезапуска Android Studio вы можете выбрать загруженный файл базы данных следующим образом: введите описание изображения здесь

... Щелкните значок «Открыть консоль SQL», и вы получите прекрасный вид вашей базы данных в Android Studio: ! [введите описание изображения здесь


2
Таким образом, я должен копировать БД из эмулятора все время?
Максим Князев

2

Новый Инспектор баз данных, представленный в Android 4.1 Canary 5 Preview, теперь позволяет просматривать, запрашивать, изменять и отлаживать базы данных SQLite в запущенном приложении непосредственно из IDE - https://developer.android.com/studio/preview/features?linkId = 86173020 # базы данных инспектор

Также поддерживает живой запрос к базе данных - https://developer.android.com/studio/preview/features?linkId=86173020#query

введите описание изображения здесь


1

Это ОЧЕНЬ старый вопрос, и мой ответ похож на некоторые ответы выше, но сделан НАМНОГО быстрее. Сценарий ниже для Mac, но я уверен, что кто-то может изменить его для Windows.

1) Откройте Script Editor на вашем Mac (вы можете просто найти Script Editor в Spotlight)
2) Скопируйте и вставьте текст ниже и измените его, указав путь к SDK, имя пакета и т. Д. (См. Ниже)
3) Сохраните скрипт! !

Вот и все! Просто нажмите кнопку воспроизведения сверху, чтобы получить обновленный файл базы данных, который будет на вашем рабочем столе.

замените следующие вещи в сценарии ниже:

path_to_my_sdk == >> укажите полный путь к вашему sdk
my_package_name == >> имя пакета вашего приложения
myDbName.db == >> имя файла вашей базы данных

set getLocalDb to "path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases && path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases/myDbName.db && path_to_my_sdk/platform-tools/adb shell run-as my_package_name cp databases/myDbName.db /sdcard/myDbName.db && path_to_my_sdk/platform-tools/adb pull /sdcard/myDbName.db /Users/User/Desktop/myDbName.db"
do shell script getLocalDb

Надеюсь, это кому-нибудь поможет.


Это сработало для меня. За исключением того, что вы должны изменить «Пользователь» на имя пользователя MacBook в выходном каталоге /Users/User/Desktop/myDbName.db
Кенни

1

Я знаю, что вопрос довольно старый, но я считаю, что этот вопрос все еще присутствует.

Просмотр баз данных в вашем браузере

Я создал инструмент разработки, который вы можете интегрировать как проект в свой проект приложения для Android. Инструмент открывает серверное гнездо в вашем приложении для связи через веб-браузер. Вы можете просматривать всю базу данных и загружать файл базы данных непосредственно через браузер.

введите описание изображения здесь

Интеграция может быть выполнена через jitpack.io:

проект build.gradle:

//...
allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
//...

приложение build.gradle:

//...
dependencies {
    //...
    debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
    //...
}
//...

Настройка класса приложения

Чтобы скомпилировать DebugGhostLib только в определенных типах сборки или вариантах продукта, нам нужен абстрактный класс Application, который будет производным в специальных вариантах. Поместите следующий класс в вашу mainпапку (подjava > your.app.package):

public class AbstractDebugGhostExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Do your general application stuff
    }
}

Теперь, для вашего типа сборки выпуска (или продукта), вы добавляете следующий класс Application в вашу папку release(или продукт продукта) (также вjava > your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

Это класс приложения, который не будет ссылаться на DebugGhostLib.

Также скажите, AndroidManifest.xmlчто вы используете свой собственный класс приложения. Это будет сделано в вашей mainпапке:

<manifest package="demo.app.android.sanid.com.debugghostexample" xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- permissions go here -->
    <application android:name=".MyApp"> <!-- register your own application class -->
        <!-- your activities go here -->
    </application>
</manifest>

Теперь для вашего типа сборки отладки (или продукта) вы добавляете следующий класс Application в вашу папку debug(или продукт продукта) (также в разделе java> your.app.package):

public class MyApp extends AbstractDebugGhostExampleApplication {
    private DebugGhostBridge mDebugGhostBridge;

    @Override
    public void onCreate() {
        super.onCreate();

        mDebugGhostBridge = new DebugGhostBridge(this, MyDatabaseHelper.DATABASE_NAME, MyDatabaseHelper.DATABASE_VERSION);
        mDebugGhostBridge.startDebugGhost();
    }
}

Вы можете получить инструмент здесь .


Это хороший инструмент, особенно после того, как Стето перестал работать с новым хромом,
Хомаюн Бехзадиан,

1

Мне пришлось вытащить базу данных с телефона на ПК. Теперь я использую это очень хорошо сделанное и бесплатное приложение, которое имеет много функций. Работает API 4.1+с устройством с рутом .
Дайте мне знать, если вы найдете способ заставить его работать без рута.

Скриншот SqlitePrime

https://play.google.com/store/apps/details?id=com.lastempirestudio.sqliteprime


1

Откройте терминал просмотра файлов устройства в нижней части Android Studio.

Откройте папку с именем Data , затем внутри Data снова откройте папку данных .

Откройте папку данных

Прокрутите вниз список папок и найдите папку с вашим именем .package.name. Откройте папку your.package.name > База данных . Вы получаете your.databaseName . Щелкните правой кнопкой мыши your.databaseName и сохраните как в C: / your / Computer / Directory.

Перейдите в C: / your / Computer / Directory откройте your.databaseName с БД SQLite

введите описание изображения здесь


1

Для Android Studio 3.X

  1. Вид -> Инструменты Windows -> Обозреватель файлов устройств
  2. В Проводнике данных: Данные-> Данные-> Ком. (Пакет приложений) -> Базы данных.
  3. Щелкните правой кнопкой мыши на базе данных и сохраните на локальном компьютере. Чтобы открыть файл, вы можете использовать SQLite Studio, просто перетащив на него файл базы данных.

Вот ссылка на SQLite Studio: https://sqlitestudio.pl/index.rvt?act=download


1

С выпуском предварительного просмотра Android Studio 4.1 Canary и Dev вы можете использовать новый инструмент под названием

Инспектор базы данных

Инспектор БД

Установите AS 4.1+, запустите приложение, откройте инспектор базы данных, теперь вы можете просмотреть файлы базы данных в левой части панели инспектора базы данных, а затем выбрать таблицу для просмотра содержимого.

Живые Запросы

Либо вы можете запускать свои запросы с помощью параметра « Запустить SQL», либо, если вы используете Room, затем откройте инспектор базы данных и запустите приложение, затем вы можете выполнить запросы DAO в своем интерфейсе, нажав кнопку « Выполнить» слева от @Queryаннотации.

живые запросы


1

Используйте Android SQLite, как база данных на стороне сервера

Следуйте этим шагам, перечисленным ниже:

  1. Найдите окно инструмента базы данных и щелкните по нему, как показано ниже

введите описание изображения здесь

  1. Нажмите значок плюса и выберите Android SQLite, как показано ниже

введите описание изображения здесь

  1. Подключите устройство Android к компьютеру

  2. Выберите пакет, который вам нужен, и выберите базу данных, как показано ниже введите описание изображения здесь

  3. Перед тем как все эти шаги над вами должны Esure , что у вас есть право доступа для доступа к файлу: /data/data//database/databasefile.db

После всех этих шагов вы увидите содержимое базы данных, как показано ниже:

введите описание изображения здесь

введите описание изображения здесь

Последняя важная вещь

Вы должны нажимать значок обновления каждый раз, когда данные базы данных были обновлены.

введите описание изображения здесь

Надеюсь, это работа для вас! Спасибо !


0

Возможно, это не тот ответ, который вы ищете, но у меня нет лучшего способа загрузки БД с телефона. Я предлагаю вам убедиться, что вы используете этот мини-DDMS. Это будет очень скрыто, хотя, если вы не нажмете на очень маленькую рамку камуфляжа в самом нижнем левом углу программы. (попытался навести на него курсор, иначе вы можете пропустить его.)

Также выпадающий, который говорит, что нет фильтров (вверху справа). У него буквально множество разных способов контролировать различные процессы / приложения по PPID, имени и многому другому. Я всегда использовал это для мониторинга телефона, но имейте в виду, что я не делаю такую ​​работу разработчика, которая должна быть на 120% положительной, база данных не делает что-то необычное.

Надеюсь, поможет

введите описание изображения здесь


0

Я собрал Unix автоматизацию командной строки этого процесса и поместил код здесь:

https://github.com/elliptic1/Android-Sqlite3-Monitor

Это сценарий оболочки, который принимает имя пакета и имя базы данных в качестве параметров, загружает файл базы данных с подключенного устройства Android и запускает пользовательский сценарий для загруженного файла. Затем с помощью Unix-инструмента, такого как «watch», вы можете открыть окно терминала с периодически обновляемым представлением выходных данных вашего скрипта базы данных.


0

Я использую Windows 7, мое устройство является API-интерфейсом эмулированного Android-устройства 23. Я полагаю, что оно одинаково для любого реального устройства, если оно рутировано и API не выше 23

Перейдите в Инструменты -> Android -> Android Device Monitor. Перейдите в проводник. В моем случае это в data / data // app_webview / database / file_0 / 1

Я должен вручную добавить .db в конце файла с именем "1"


0

Это комбинация из других ответов с плюсом

  1. Установить браузер БД для SQLite
  2. Получите точное местоположение в File File Explorer для MyBase.db, например, «/data/data/com.whwhat.myapp/databases/MyBase.db».
  3. Установите окно проекта с Android на Project - чтобы вы могли видеть файлы (build.gradle, gradle.properties, ... и т. Д.)
  4. В окне проекта щелкните правой кнопкой мыши и выберите «Открыть в терминале».
  5. В терминале вы теперь находитесь в корневом каталоге вашего приложения с жесткого диска, поэтому выполните: adb pull /data/data/com.whwhat.myapp/databases/MyBase.db
  6. Теперь в окне Project вашей Android Studio у вас есть файл "MyBase.db"
  7. Дважды щелкните файл базы данных в Project, и теперь вы можете просматривать / редактировать базы данных в браузере БД.
  8. Когда вы будете готовы, просто запишите изменения в браузере БД, чтобы базы данных сохранялись на жестком диске.
  9. В терминале с помощью команды: adb нажмите MyBase.db /data/data/com.whwhat.myapp/databases/MyBase.db, который вы просто отправляете с жесткого диска на устройство отредактированной базы данных.

0

Выполните описанные выше шаги, чтобы открыть папку базы данных вашего приложения в Android Device Explorer, и там вы увидите шесть файлов. Первые три называются android, а последние три - именем вашей базы данных. Вам нужно только работать с последними тремя файлами, сохранить эти три файла в нужном месте. Вы можете сохранить эти файлы, щелкнув правой кнопкой мыши по файлу и нажав кнопку «Сохранить как» (как моя база данных называется room_database, и три файла названы как room_database, room_database-shm и room_database-wal. Переименуйте соответствующий файл следующим образом : -

1) room_database to room_database.db 2) room_database-shm to room_database.db-shm 3) room_database-wal to room_database.db-wal

Теперь откройте 1-й файл в любом браузере SQLite, и все три файла будут заполнены в браузере.


0

Наконец, Android Studio поддерживает эту функцию с вкладкой инспектора базы данных. Вы можете легко применять операции просмотра / обновления / запроса. Пока он не в стабильном канале, но вы можете попробовать его на Android Studio 4.1 Canary 5 и выше.

Вы можете посмотреть, как выглядит инспектор базы данных здесь

И вы можете скачать соответствующую версию здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.