Переглянути вміст бази даних, створеної за допомогою Бібліотеки стійкості кімнати


98

Чи є якийсь простіший спосіб переглянути вміст бази даних, створеної за допомогою бібліотеки стійкості кімнати в Android Studio?


6
easier wayпорівняно з яким способом?
Владислав Матвієнко

1
порівняно зі старими підходами, такими як використання DDMS або через оболонку adb. DDMS зависає мій комп’ютер, а використання adb вимагає багато роботи. Я думаю, що це повинен бути простіший спосіб, оскільки нещодавно він був випущений Google
SpiralDev,

12
Не в андроїд-студії, але цей github.com/facebook/stetho - найкращий міст для налагодження Android, розроблений facebook, з якого ви можете бачити базу даних своїх програм, навіть
спільні налаштування

Відповіді:


47

Спосіб 1

Ви можете використовувати Android-Debug-Database , і ви можете CRUD ваших даних з веб-переглядача, а потім ви зможете побачити ваші налаштування з браузера.

Спосіб 2

Якщо ви не хочете використовувати з браузера , і ви повинні перевірити інші файли, необхідно перевірити зміни даних, використовуйте Genymotion Emulator.So ви повинні корінь вашої emulator.Try до кореневих ваш емулятор, плз см в HTTPS: / /stackoverflow.com/a/44039429/2772552 . Повідомте мене, якщо з вами все в порядку.


Здатний бачити файл бази даних, але не може переглядати створені таблиці в базі даних. Я спробував обидва методи
Равікіран,

9
Нарешті я знайшов рішення після денної роботи. Експортуйте файли "userdatabase", "userdatabase-shm" та "userdatabase-wal" з емулятора та відкрийте файл "userdatabase" у засобі перегляду sqlite
Равікіран,

якщо .db знаходиться у внутрішній директорії, вам не дозволено там бачити, скопіюйте файл .db вручну у зовнішню папку сховища, і це буде працювати для вас
Htoo Aung Hlaing

У мене була проблема з методом 1, коли він спричиняв проблеми з читанням / записом з іншими асинхронними завданнями. Програму зависло.
Джеффрі,

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 Цей метод буде працювати лише на корінному пристрої або емуляторі.
Hitesh Bisht

1
Це також має працювати на некоренованому телефоні з встановленою налагоджуваною програмою, за винятком пристроїв Samsung
Гакет

1
Це має бути прийнятою відповіддю - найпростіший спосіб отримати БД без необхідності завантажувати програмне забезпечення або викорінювати пристрій.
beyondtheteal

1
@ JakubJabłoński запустити свою програму на емуляторі, ніж відкрити Провідник файлів пристроїв в Android Studio
kreker

66

в android studio 3.1. *

на панелі вікна інструменту натисніть " Device File explorer", як правило, ви можете знайти це в правому нижньому куті екрана

відкрити каталог в 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

Автор цієї відповіді фактично показує, де живе `` Провідник файлів пристроїв '', що економить час для початківців; звідси +1
Ілонпілаая,

@AwaisHussain: usecontext.getDatabasePath("your-db-name.db")
gMale

Натисніть Shift двічі, щоб шукати скрізь і вводити Провідник файлів пристроїв, якщо його було видалено з нижнього правого кута у вашій студії Android.
COYG

Дякую, що відповіли мені
Amirhf

39

Завантажте та встановіть браузер DB для SQLite

У версіях Android Studio> = 3.0:

Відкрийте Провідник файлів пристрою за допомогою:

Перегляд > Інструмент Windows > Провідник файлів пристрою

У "Провіднику файлів пристрою" перейдіть до:

data > data > PACKAGE_NAME > бази даних

де PACKAGE_NAME - це назва вашого пакету (це com.edgedevstudio.sample у прикладі нижче)

Провідник файлів пристрою

Клацніть правою кнопкою миші на базі даних і виберіть Зберегти як. Збережіть його де завгодно на своєму ПК.

Відкрийте браузер DB для SQLite, натисніть кнопку «відкрити базу даних» і відкрийте базу даних. введіть тут опис зображення

У випадку з наведеним вище прикладом вам слід знайти " todolist ", а НЕ "todolist-shm", ані "todolist-wal"

Якщо ви не експортуєте 3 файли бази даних (db_name, db_name-shm & db_name-wal, де db_name = ім'я бази даних), ви не зможете прочитати базу даних.


Це те, що я шукав .. Саме те, що потрібно! Дякую @EdgeDev
Kannan_SJD

19

Особисто я використовую базу даних налагодження Android

База даних налагодження Android - це потужна бібліотека для налагодження баз даних та спільних налаштувань у додатках 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 репо


1
Це найкращий спосіб, оскільки немає необхідності викорінювати пристрій
Суніл,

1
Оце Так! Дивовижні речі !! Дякую, чувак!!
Баракуда

10

15 квітня 2020 р. - Для легшого способу виконайте такі дії:

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

Ви можете переглянути кроки та просто слідувати цифрам на малюнку нижче

Ви можете побачити кроки на зображенні.

@canerkaseler


7

Використовуйте Stetho .

Додайте його до свого проекту Android як dependency.

Зателефонуйте Stetho.initializeWithDefaults(this)у вашій Applicationі переглядати базу даних , використовуючи хром інспектувати інструмент. Введіть у вашій кульгавий адресному рядку: chrome://inspect.

Престо! Ви можете побачити свій Room database.


3

Я зробив це, виконавши такі дії:

1) Завантажте браузер db за таким посиланням.

https://sqlitebrowser.org/

2) Перейдіть до Провідника файлів пристроїв з IDE і скопіюйте три створені файли, як-от введіть тут опис зображення та виберіть усі три файли: your-db, your-db-shm, your-db-wal

натисніть ctrl + shift + s і вставте його в якусь папку. Готово.

3) нарешті відкрийте ваш-db за допомогою програми DbBrowser.


дякую, маю вибрати всі три файли: * -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

1

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

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


Це має бути офіційна відповідь.
Аміт Шарма

0

Нещодавно я спробував Sethto By Facebook .

Stetho - це складний налагоджувальний міст для додатків Android. Якщо цю функцію ввімкнено, розробники мають доступ до функції інструментів розробника Chrome, яка є частиною веб-переглядача Chrome

Вам просто потрібно включити його залежність від gradle та виклик у MainApp. Це воно. Ви отримуєте доступ до всіх інструментів у вікні chrome, використовуючи, chrome://inspect/зокрема, вашу базу даних sqlite.

Далі наведено знімок екрана, де його перевіряє База даних кімнат на емуляторі. Поки що я пробував лише в емуляторі.

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


0

після отримання вашої БД (3 файли) з Device File Explorer, як зазначено вище

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.