Перегляд вмісту файлу бази даних в 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, це приголомшливо. Дякую
Ману Зі

26
/ дані не розширюються у файловому провіднику Монітора пристроїв, я вважаю, що це недоступно, оскільки перелік записів у / data або / data / data directory вимагає доступу суперкористувача. Я все ще в змозі отримати доступ до файлів бази даних через оболонку adb з правами su. Ви маєте ідею, як отримати доступ до доступу до файлового менеджера?
Сараванабалагі Рамачандран

2
@ZekeDran, так, метод показує лише дані емулятора, а не ваш пристрій. Хоча я додав кроки для перегляду бази даних на вашому пристрої. Перевірте редагування
Ojonugwa Jude Ochalifu

11
Це працює, але емулятор повинен працювати не більше API 23. Якщо ви використовуєте API 25, то вміст у файлі провідника немає
Manos

2
Мене працює менеджер баз даних із вашого посилання Github! Також є можливість тестувати запити!
basti12354

199

Підключіться до Sqlite3 через оболонку ADB

Я не знайшов способу зробити це в Android Studio, але я отримую доступ до db з віддаленою оболонкою, а не щоразу тягнути файл.

Знайти всю інформацію можна тут: 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- Перейдіть до папки, що містить ваш db-файл:

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

5- запустіть sqlite3 для підключення до вашого db:

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 градуса (яке ви можете прокоментувати для складання виробництва), кілька рядків коду для створення 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
Frank Myat Чт

2
Дуже просто, ви можете бачити дані з бази даних без сторонніх інструментів, усередині браузера Chrome.
Mateus Viccari

Не забувайте Stetho.initializeWithDefaults(this);бути на Applicationуроці.
wonsuc

1
Чудовий інструмент. Ваш додаток буде вказано на сторінці #devices, якщо ви виконали налаштування правильно. Клацніть Перевірити, а потім перейдіть до Ресурси> Веб-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)
Алаа М.

52

В Android Studio 3 і вище ви можете побачити розділ "Провідник файлів пристроїв" праворуч на Android Studio Studio.

Відкрийте його, тоді ви побачите дерево файлів, ви можете знайти бази даних програми на цьому шляху:

/data/data/{package_name}/databases/

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


2
Коли я двічі клацну по файлу БД для свого додатка, він показує всі нечитабельні символи. Який читач SQLite ви використовуєте для перегляду вмісту БД?
Суреха

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

що коренева команда була для емулятора, ви не можете просто запустити цю команду і викорінити свій "телефон".
Дарпан

1
все зроблено, отримав database.db. файл, Але файл database.db не містить таблиць
Binil

16

Спробуйте цей плагін для Android Studio SQLScout . ви можете бачити та редагувати базу даних додатків у режимі реального часу.

SQLScout

Редагувати: Пам’ятайте, що це платний плагін, але пробуйте 24 години та підходить для головного болю.


17
Це платний продукт, ви забули згадати.
йшахак

58
не дуже, у нього 24 години пробного періоду, я планував своє майбутнє як розробник більш ніж на 24 години.
yshahak

На жаль, це не безкоштовно.
К.Софеак

Час випробування становить лише 36 годин.
Махді Мокадасі

9

Після перегляду всіх рішень я запропоную

Використовуйте стетос
Давайте подивіться, наскільки це просто

Додайте наступні залежності у файл 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, відкрийте Chrome та тип адресного рядка
chrome: // inspect /

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


Кімната просто orm, нічого не змінюється з точки зору sql, вона працює так само
ShankPossible

9

Найпростіший спосіб - це використання бібліотеки баз даних налагодження Android (7,3 тис. Зірок на GitHub) .

Android-налагодження-база даних

Переваги:

  • Швидка реалізація
  • Перегляньте всі бази даних та спільні налаштування
  • Безпосередньо редагуйте, видаляйте, створюйте значення бази даних
  • Запустіть будь-який запит 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 або локальної мережі)

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


1
Це найкращий і менш болісний процес! Дякую Даниїлу
Судіп

5

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

#Для Android Studio 4.1 Canary 6 і новіших версій

Ви можете використовувати дуже просту функцію Android Studio з функцією Інспектор баз даних . Де ви можете перевіряти, запитувати та змінювати бази даних програми за допомогою нового Інспектора баз даних. Наприклад, ви можете налагоджувати свою запущену програму, змінюючи значення у вашій базі даних і тестуючи ці зміни на пристрої в режимі реального часу, не виходячи з Android Studio .

Для початку розгорніть додаток на пристрої, на якому працює API 26 або вище, та виберіть Перегляд> Інструмент Windows> Інспектор баз даних на панелі меню.

#Для Android Studio 4.0 і менше

Спочатку встановіть плагін Data Navigator в Android Studio

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

По-друге , перезапустіть Android Studio

По-третє , збережіть базу даних у типовому місці, наприклад: (C: \ Користувачі \ Ім'я користувача \ Документи \ AndroidStudio \ DeviceExplorer \ емулятор чи пристрій \ дані \ дані \ Ім'я пакета \ бази даних)

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

По-четверте , підключіть збережений файл dbname_db в Навігаторі баз даних

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

Дайте той самий шлях до файлу БД, який використовується на кроці третьому

тобто (C: \ Users \ Ім'я користувача \ Документи \ AndroidStudio \ DeviceExplorer \ емулятор чи пристрій \ data \ data \ ім'я пакета \ бази даних \ пакет naem \ dbname_db)

Нарешті , просто протестуйте з'єднання БД і відкрийте консоль і робіть все, що вам потрібно зробити.

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

Якщо ви хочете оновити БД, просто повторіть крок Другий і просто збережіть його або оновіть.

ЩАСЛОВА КОДУВАННЯ !!!!!


3
Це рішення потребує великих зусиль для вашої щоденної роботи. І при кожній зміні бази даних вам потрібно перезавантажити sql-файл - здається трохи складним. Я вважаю за краще використовувати декілька плагінів, які дають можливість переглядати базу даних на локальному сервері
Максим Петлюк

1
Так, ви маєте рацію, доки в Навігаторі баз даних не буде оновлено дані в реальному часі, сподіваюся, що незабаром оновиться додатки.
Nabin

Точно, це буде чудовою особливістю
Максим Петлюк

Так, до цих пір це найкращий спосіб для мене, якщо нам потрібно запитувати дані, додавати, редагувати та видаляти
Nabin

Чи потрібно завжди робити економію, щоб оновити базу даних? чи є простіший спосіб, як у mysql, все, що мені потрібно, це натиснути кнопку оновлення.
ン ド リ ュ ー ラ イ ン ア

4

Щоб знати, де зберігається база даних sqlite, створена вами в андроїд-студії, вам потрібно дотримуватися простих кроків:

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/

Для перегляду даних, присутніх у db-файлі, потрібно завантажити браузер sqlite або додати плагін таких же у будь-який браузер, тому вам потрібно відкрити файл у браузері та переглянути свої дані.

Завантажити веб-переглядач з http://sqlitebrowser.org/

Ось знімок екрана, на якому відображається браузер, що містить базу даних реєстру

Дякую,


3

Найпростіший спосіб - приєднати свій пристрій і запустити Android Studio потім на панелі інструментів:

  1. Перегляд -> Вікно інструментів -> Провідник файлів пристроїв
  2. Зайдіть у дані / дані та знайдіть свій пакет
  3. знайдіть файл DB, який ви хочете вивчити, і завантажте його
  4. Я рекомендую на цьому веб-інструменті: https://sqliteonline.com/ вивчити файл db

Ще один спосіб використання бібліотеки Stetho:

  1. Додайте залежність від Stello до свого build.gradle:

    компілювати 'com.facebook.stetho: stetho: 1.5.0'

  2. Помістіть наступний рядок у onCreate () класу додатків або основної діяльності:

    Stetho.initializeWithDefaults (це);

  3. Підключіть свій пристрій, запустіть програму та введіть наступний сайт у Chrome:

    chrome: // оглядати / # пристроїв

і це все. тепер ви можете вивчити свої таблиці.

Примітка: перед переходом до виробництва рекомендується зняти залежність.


3

Якщо ви хочете переглядати ваші бази даних ІЗ ANDROID STUDIO, ось що я використовую:

Перейдіть до Файли / Налаштування / Плагіни та шукайте це:

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

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

... Клацніть піктограму "Відкрити консоль SQL", і ви закінчите цей прекрасний перегляд вашої бази даних в Android Studio: ! [введіть тут опис зображення


2
Тож мені доведеться весь час копіювати db з емулятора?
Максим Князєв

2

Новий інспектор баз даних представлений в Android 4.1 Canary 5 Попередній перегляд, де тепер ви можете перевіряти, запитувати, змінювати та налагоджувати бази даних 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) Відкрийте редактор сценаріїв на вашому Mac (ви можете просто шукати редактор сценаріїв у
центрі уваги) 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
Kenny Dabiri

1

Я знаю, що питання досить старе, але я вважаю, що це питання все ще існує.

Перегляд баз даних у вашому браузері

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

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

Інтеграцію можна здійснити за допомогою jitpack.io:

проект build.gradle:

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

app build.gradle:

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

Налаштування класу додатків

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

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

Тепер, для типу складання випуску (або аромату продукту), ви додаєте наступний клас програми у свою папку 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>

Тепер, для типу складання налагодження (або аромату продукту), ви додаєте наступний клас програми у свою папку 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();
    }
}

Ви можете отримати інструмент тут .


це хороший інструмент спеціально після того, як Стето перестав працювати в новітньому хромі,
Homayoun Behzadian

1

Мені довелося перетягувати базу даних з телефону на ПК. Зараз я використовую це дуже добре зроблений і безкоштовний додаток, який має безліч функцій. Він працює на пристрої API 4.1+з корінням .
Повідомте мене, якщо ви знайдете, як змусити його працювати без кореня.

Знімок екрана SqlitePrime

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


1

Відкрийте термінал дослідження файлів пристрою на дні студії Android.

Відкрийте папку з назвою " Дані" , потім всередині "Дані" знову відкрийте папки " Дані" .

Відкрийте дані папки

Прокрутіть вниз список папок і знайдіть папку з вашим ім'ям.package.name. Відкрийте папку your.package.name > База даних . Ви отримуєте своє ім'я.databaseName . Клацніть правою кнопкою миші ваше ім'я.databaseName та збережіть як на C: / your / Computer / Directory.

Перейдіть до C: / your / Computer / Directory, відкрийте вашу.databaseName за допомогою DB 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+, запустіть додаток, відкрийте інспектор баз даних, тепер ви можете переглядати файли вашої бази даних ліворуч на панелі інспектора бази даних, а потім виберіть таблицю для перегляду вмісту.

Живі запити

Або ви можете запускати запити, використовуючи параметр Run 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. Перейдіть до Провідника файлів. У моєму випадку це у data / data // app_webview / databases / file_0 / 1

Я маю вручну додати .db в кінці файлу під назвою "1"


0

Його поєднання з іншими відповідями з плюсом

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

0

Виконайте вищевказані дії, щоб відкрити папку бази даних свого додатка в провіднику Android Device, і там ви можете побачити шість файлів, перші три названі 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.