Просмотр содержимого базы данных, созданной с помощью библиотеки сохранения состояния комнаты

98

Есть ли более простой способ просмотреть содержимое базы данных, созданной с помощью библиотеки сохранения состояния комнаты в Android Studio?

SpiralDev
источник
6
easier wayпо сравнению с каким способом?
Владислав Матвиенко 08
1
по сравнению со старыми подходами, такими как использование DDMS или через оболочку adb. DDMS зависает на моем компьютере, и использование adb требует много работы. Я думаю, что должен быть более простой способ, поскольку он был недавно выпущен Google
SpiralDev
12
Не в студии Android, но этот github.com/facebook/stetho - лучший мост отладки Android, разработанный facebook, из которого вы можете видеть свою базу данных приложения, даже общие настройки и т. Д.
Моинхан

Ответы:

47

Способ 1

Вы можете использовать Android-Debug-Database , и вы можете CRUD ваших данных из браузера, а затем вы можете видеть свои данные Preference из браузера.

Способ 2

Если вы не хотите использовать из браузера, и вам нужно проверить другие файлы, необходимо проверить изменения ваших данных, используйте эмулятор Genymotion.Таким образом, вам нужно получить root-права на свой эмулятор.Попробуйте рутировать свой эмулятор, пожалуйста, см. Https: / /stackoverflow.com/a/44039429/2772552 . Дай мне знать, если ты не в порядке.

Хтоо Аунг Хлаинг
источник
Может видеть файл базы данных, но не может просматривать созданные таблицы в базе данных. Я пробовал оба метода
Равикиран
9
Наконец я нашел решение после рабочего дня. Экспорт файлов «userdatabase», «userdatabase-shm» и «userdatabase-wal» из эмулятора и открытие файла «userdatabase» в программе просмотра sqlite
Равикиран
Если .db находится во внутреннем каталоге, вам не разрешено его видеть, вручную скопируйте файл .db во внешний каталог хранилища, и он будет работать для вас
Htoo Aung Hlaing
У меня была проблема с методом 1, когда он вызывал проблемы чтения / записи с другими задачами async. Вызвало зависание приложения.
Джеффри
90

В более старых версиях Android Studio:

Emulator -> Android Studio -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/

В более поздних версиях Android Studio (3.5+):

View -> Tool Windows -> Device File Explorer -> /data/data/{$packageId}/databases/ -> Save As -> https://sqlitebrowser.org/
крекер
источник
1
операция не разрешена
Джонатан
2
@jonney Этот метод будет работать только на устройстве или эмуляторе с root-доступом.
Hitesh Bisht
1
Это должно работать на некорневой телефоне с отладочной приложенией установлен, за исключением устройств Samsung
Gaket
1
Это должен быть принятый ответ - самый простой способ получить БД без необходимости загружать программное обеспечение или рутировать устройство.
beyondtheteal
1
@ JakubJabłoński запустите ваше приложение на эмуляторе, а затем откройте Device File Explorer в Android Studio
kreker
66

в android studio 3.1. *

в панели окна инструментов нажмите "Device File explorer ", как правило, вы можете найти это в правом нижнем углу экранаn

открыть каталог в data/data/your-application-package/databases

с новой архитектурой в каталоге баз данных создается 3 файла

your-database-name
your-database-name-shm
your-database-name-wal

вам нужно экспортировать все 3 в один каталог

затем откройте первый файл (только с именем вашей базы данных) в любом браузере sqlite.

и теперь вы можете видеть все свои данные .......

your-database-name-shm
your-database-name-wal

эти два дополнительных файла необходимы для открытия файла db, если вы откроете только файл базы данных, тогда вы не найдете никакой таблицы в этом файле

Авинаш Джадаун
источник
Как я могу узнать, где находится путь "/ data / data / ..." в моей файловой системе?
Awais Hussain
Автор этого ответа на самом деле показывает, где находится «Device File Explorer», что экономит время для новичков; следовательно +1
Ilonpilaaja
@AwaisHussain: usecontext.getDatabasePath("your-db-name.db")
gMale
Дважды нажмите Shift, чтобы искать везде, и введите Device File Explorer, если он был удален из правого нижнего угла в вашей студии Android.
COYG
Спасибо, что
ответили
39

Загрузите и установите браузер БД для SQLite

В версиях Android Studio> = 3.0:

Откройте проводник устройства через:

Вид > Окна инструментов > Проводник устройства

В «Проводнике устройства» перейдите к:

данные > данные > ИМЯ ПАКЕТА > базы данных

где PACKAGE_NAME - это имя вашего пакета (в приведенном ниже примере это com.edgedevstudio.sample)

Проводник устройства

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

Откройте браузер БД для SQLite, нажмите «Открыть базу данных» и откройте базу данных. введите описание изображения здесь

В случае приведенного выше примера вы должны найти « todolist » НЕ «todolist-shm» или «todolist-wal».

Если вы не экспортируете 3 файла базы данных (db_name, db_name-shm & db_name-wal, где db_name = имя базы данных), вы не сможете прочитать базу данных.

EdgeDev
источник
Это то, что я искал .. Именно то, что требовалось! Спасибо @EdgeDev
Kannan_SJD
19

Лично я использую базу данных отладки Android

Android Debug Database - это мощная библиотека для отладки баз данных и общих настроек в приложениях Android.

Быстрый старт

Добавьте это в build.gradle вашего приложения

debugImplementation 'com.amitshekhar.android:debug-db:1.0.4'

Просто запустите приложение, вы увидите в logcat следующую запись:

D/DebugDB: Open http://192.168.1.104:8080 in your browser

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


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


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

Chebaby
источник
1
Это лучший способ, так как не нужно рутировать устройство
Сунил
1
Вот это да! Удивительные вещи !! Спасибо чувак!!
Баракуда
10

15 апреля 2020 г. - Чтобы упростить задачу, выполните следующие действия:

  1. Загрузить программу SQLiteBrowser: Загрузить SQLite для всех ОС
  2. Нажмите «Обозреватель устройств» в правом нижнем углу Android Studio.
  3. Вы увидите много файлов. Не волнуйтесь! Следуйте по пути: data / data / {название пакета вашего приложения}
  4. Щелкните правой кнопкой мыши «базы данных» и «Сохранить как» на вашем компьютере.
  5. Откройте SQLiteBrowser и нажмите «Открыть базу данных», затем выберите файл, имя которого совпадает с именем вашей базы данных.
  6. Вы можете просмотреть файлы и выбрать те, которые имеют то же имя, что и имя вашей таблицы базы данных.
  7. Последний шаг, вы можете увидеть опцию «Обзор данных» рядом с опцией «Структура базы данных». Когда вы выбираете ее, вы можете видеть свои данные базы данных.

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

Вы можете увидеть шаги на изображении.

@canerkaseler

Canerkaseler
источник
7

Используйте стето .

Добавьте его в свой проект Android как файл dependency.

Позвоните Stetho.initializeWithDefaults(this)в свою Applicationбазу данных и просмотрите ее с помощью инструмента проверки хрома. Введите в вашей хромой адресной строке: chrome://inspect.

Престо! Вы можете увидеть свой Room database.

Изак
источник
3

Я сделал это, выполнив следующие шаги:

1) Загрузите браузер db по следующей ссылке.

https://sqlitebrowser.org/

2) Перейдите в Device File Explorer из IDE и скопируйте три сгенерированных файла, например, введите здесь описание изображения и выберите все три файла: your-db, your-db-shm, your-db-wal.

нажмите ctrl + shift + s и вставьте его в какую-нибудь папку. Выполнено.

3) наконец откройте your-db с помощью приложения DbBrowser.

100RaBH
источник
спасибо, нужно выбрать все три файла: * -db, * -db-shm, * -db-wal
xyz
2

В последней версии Android Studio 4.1 Canary в Android Studio появился новый инструмент под названием Database Inspector. .

Вы можете использовать этот инструмент Database Inspector для просмотра файла базы данных и его содержимого, вы также можете редактировать содержимое базы данных.

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

Если вы используете, Room Persistenceон также предоставляет возможность для работы @Queryв Android Studio. Вы можете увидеть кнопку запуска в левой части @Queryаннотации.

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

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

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

Чандан Шарма
источник
1
You can see your database table on the DB Browser for SQLite & room DB.

 In android studio 
1. Click on View -> Tool Windows -> Device File Explorer -> data
2. Select your project package name -> database -> select all file and save on desktop

Install **DB browser for SQLITE** 
1. sudo apt-get install sqlitebrowser //write on your terminal for install DB browser
2. install DB browser for sqlite
3. click on Open database and select file where you had saved your data
4. click on Brower Data and see your tables

This is all where i have see my android room database
HandyPawan
источник
1

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

https://developer.android.com/studio/preview/features#database-inspector

Джеффри Лю
источник
Это должен быть официальный ответ.
Амит Шарма
0

Недавно я попробовал Sethto By Facebook .

Stetho - это сложный мост отладки для приложений Android. Если этот параметр включен, разработчики получают доступ к функциям Chrome Developer Tools, изначально являющимся частью настольного браузера Chrome.

Вам просто нужно включить его зависимость от Gradle и вызвать MainApp. Вот и все. Вы получаете доступ ко всем инструментам в окне Chrome, используяchrome://inspect/ включая вашу базу данных sqlite.

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

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

Аджи
источник
0

после получения вашей БД (3 файла) из Device File Explorer, как указано выше

Я действительно рекомендую простую программу, например, "Браузер БД для SQLite" https://sqlitebrowser.org/

Amr263
источник