- Применение SQLiteOpenHelper и Database Inspector в Android-разработке
- Что такое SQLite?
- Класс SQLiteOpenHelper
- ▍Метод onCreate()
- ▍Метод onUpgrade()
- ▍Пример
- Database Inspector в Android Studio
- Database Inspector
- A live database tool we’ve been waiting for!
- Get started
- Query your databases
- Modify and debug your database
- Просмотр содержимого файла базы данных в Android Studio
- 28 ответов
- Просмотр баз данных из Android Studio:
- Чтобы просмотреть свою базу данных на мобильном устройстве:
- Подключиться к Sqlite3 через ADB Shell
- Шпаргалка по SQLite
- Предостережения:
- Пояснение:
- # Для Android Studio 4.1 Canary 6 и более поздних версий.
- # Для Android Studio 4.0 и ниже
- Просмотр баз данных из вашего браузера
- Настроить класс приложения
- Используйте android sqlite как базу данных на стороне сервера
- Выполните следующие шаги, перечисленные ниже:
Применение SQLiteOpenHelper и Database Inspector в Android-разработке
Автор статьи, перевод которой мы публикуем сегодня, хочет рассказать об использовании баз данных SQLite в Android-разработке. В частности — он коснётся тут двух вопросов. Во-первых — речь пойдёт о классе SQLiteOpenHelper , который применяется для работы с базами данных в коде приложений. Во-вторых — он уделит определённое внимание инструменту Database Inspector, инспектору баз данных, встроенному в Android Studio.
Что такое SQLite?
SQLite — это опенсорсная реляционная СУБД, похожая на MySQL. SQLite входит в состав стандартной библиотеки Android, где реализован движок базы данных, не нуждающийся в применении клиент-серверной архитектуры, не требующий особой настройки, поддерживающий транзакции. Для работы SQLite не нужен сервер баз данных. Всё, что нужно, хранится в обычных файлах. Полноценная БД SQLite, в которой имеется множество таблиц, триггеров, индексов и представлений, содержится в единственном, самом обыкновенном файле. Стандартная поддержка СУБД SQLite имеется во всех мобильных телефонах и в большинстве компьютеров. При этом работа с SQLite не требует решения задач по администрированию или настройке баз данных.
Android-разработчик, для выполнения CRUD-операций из своего приложения, может пользоваться пакетом android.database.sqlite.SQLiteDatabase , в котором реализованы все необходимые API.
Класс SQLiteOpenHelper
SQLiteOpenHelper — это класс, встроенный в пакет android.database.sqlite.SQLiteDatabase . Это — вспомогательный класс, который отвечает за создание баз данных SQLite и за управление их версиями. Для того чтобы воспользоваться возможностями этого класса, нужно создать его подкласс, в котором надо переопределить два метода — onCreate() и onUpgrade() . Этот класс позволяет открывать существующие базы данных, создавать новые базы данных и обновлять версии баз данных.
▍Метод onCreate()
Метод onCreate() вызывается при создании базы данных. Он, в процессе жизненного цикла приложения, вызывается лишь один раз. А именно, его вызов производится при первом обращении к методу getReadableDatabase() или getWritableDatabase() . Эти методы принадлежат классу SQLiteOpenHelper .
В следующем примере показано создание экземпляра класса DatabaseHelper , являющегося наследником SQLiteOpenHelper :
Вот код конструктора DatabaseHelper :
Класс SQLiteOpenHelper вызывает метод onCreate() после создания базы данных и создания экземпляра класса SQLiteDatabase . Этот метод, напомним, вызывается лишь один раз, при создании базы данных:
▍Метод onUpgrade()
Метод onUpgrade() вызывается в тех случаях, когда нужно обновить версию существующей базы данных:
▍Пример
Создадим простое Android-приложение и разберём практический пример работы с классом SQLiteOpenHelper . Это приложение, применяя данный класс, позволит нам добавлять записи о работниках некоей компании в таблицу Empdata базы данных Company.db .
Приложение имеет весьма простой интерфейс, описанный в файле activity_main.xml .
Вот содержимое файла MainActivity.java :
Вот содержимое Employee.java :
Вот файл DatabaseHelper.java :
В коде DatabaseHelper.java видно, что класс DatabaseHelper является наследником класса SQLiteOpenHelper .
После того, как база данных создана, можно приступать к работе с ней. В частности — создавать и обновлять поля её таблиц. При решении этих задач можно пользоваться объектом типа ContentValues , который позволяет хранить пары ключ-значение. Именно такие объекты используются для добавления новых записей в таблицы базы данных (с помощью метода insert() объекта SQLiteDatabase ) и для обновления существующих записей (с помощью метода update() ).
Database Inspector в Android Studio
Инструмент Database Inspector позволяет исследовать базы данных, используемые в приложениях, выполнять запросы к ним, модифицировать их, делая всё это во время работы приложений. Database Inspector имеется в Android Studio начиная с версии 4.1. Этот инструмент особенно полезен при отладке механизмов программ, ответственных за работу с базами данных. Database Inspector работает и с обычной реализацией SQLite, и с библиотеками, построенными на её основе, вроде Room. Database Inspector работает лишь с библиотекой SQLite, входящей в состав операционных систем Android, уровень API которых не ниже 26.
Для того чтобы открыть базу данных в Database Inspector нужно выполнить следующие действия:
- Запустите приложение в эмуляторе или на устройстве, подключённом к компьютеру. На эмуляторе или на устройстве должно присутствовать API не ниже 26 уровня.
- Выполните команду меню View > Tool Windows > Database Inspector .
- Выберите процесс выполняющегося приложения из выпадающего меню.
- В панели Databases появятся записи о базах данных, которые имеются в выбранном приложении. Теперь можно работать с этими базами данных.
Исследование базы данных с помощью Database Inspector
Обратите внимание на то, что есть одна проблема, связанная с аварийным завершением работы программ на эмуляторе Android 11 при подключении к Database Inspector. Если вы с этой проблемой столкнётесь — здесь вы можете найти сведения о том, как с ней справиться.
Применяете ли вы SQLite в Android-разработке?
Источник
Database Inspector
A live database tool we’ve been waiting for!
Creating and managing local databases is a core component of most mobile apps. But whether you’re using SQLite directly or through the Room persistence library, Android developers have been asking for a better way to inspect and debug databases in their running app. To learn more watch the video or read the blog below.
The latest version of Android Studio 4.1 (currently available in Canary) comes with a new tool called Database Inspector, which helps you inspect, query, and modify databases in your running app.
With Database Inspector, modifying the data in your database is not much harder than editing a spreadsheet; if you are using Room and observing the query results, the changes will be reflected instantly in your app!
In this post, we will use the Database Inspector with the Sunflower app to test some edge cases. Sunflower is a gardening app that illustrates Android development best practices with Android Jetpack. I encourage you to clone the repo and follow along as you read this post.
Get started
The UI of the Sunflower app includes two tabs. To add some plants to my garden, let’s take a look at the Plant List tab, which lists available plants for my garden. On the top right, there is a filter button. When I press this button, the following list of plants is displayed:
Clearly, this button filters the plants based on some criteria. But let’s imagine I am not super familiar with this project and I want to figure out how the filtering works by using the Database Inspector.
To open the Database Inspector in Android Studio, I need to select View > Tool Windows > Database Inspector from the menu bar.
This brings up the Database Inspector.
Now, I need to run the app to a device running API level 26 or higher and then select the app process from the dropdown menu.
After I select the app process I want to inspect, the database schemas appear in the panel below. To see Sunflower database tables, I need to expand the …/databases/sunflower-db schema.
Let’s go back to the app and take a look at the filtered plant list. The list contains Avocado, Grape, Orange and Tomato. If I could sort the plant table by the plant name, it wouldn’t be hard to find Avocado. Let’s see if the Database Inspector can do that!
First, I double-click on the plants table to display its data. The data is displayed with a default page size of 50, but you can reduce this number and page between a shorter list of results instead. Clicking on the name column sorts the plant table on the name of the entries. As expected, Avocado is not far down the list and I find it in the second row of the table.
Query your databases
Looking at the data entry of Avocado, the growZoneNumber is most likely the property which the app uses for filtering. To verify that, let’s run a query on the growZoneNumber, which is 9 for Avocado. Actually, this query already exists in PlantDao.kt and I can run the query directly from Room’s @Query annotations. Every @Query annotation has a small run icon next to its line number.
When I click the run icon for the query of getPlantsWithGrowZoneNumber() and select the correct database, a popup appears asking me the value for :growZoneNumber.
I can enter a value of 9 and click Run to see the query results.
Alternatively, I can type my own query and run it inside the tool window. This gives me more freedom, as I am not limited to the queries defined in DAO interfaces. To run my own query, I click Run SQL and select the plants database from the newly opened tab on the right.
Next, I type the following query into the box next to the database selection dropdown and click Run.
“ Select * from plants where growZoneNumber=9”
Here it is! We have the exact same list of plants as is shown when the filter is on.
Modify and debug your database
The Database Inspector makes debugging your app a breeze by allowing you to modify values in your app’s databases while it’s running on a device.
First, I want to test the app UI for really long plant names. Instead of changing the data source and refreshing the database with the new data, I’ll edit the values directly on the database using the Database Inspector.
Now that the cell is editable, I change the name from Apple to A really special type of Apple and press enter. If you are following along, you can type anything you like with the length you want to test in the app UI.
Now let’s go back to the app. Notice that without us doing anything, the app is displaying the updated data! If your app uses Room and observes the query results (using LiveData/Flow) you do not need to trigger a database query to refresh the data. Otherwise, depending on how your app triggers a query, you may need to relaunch the app or just navigate to the related activity/fragment again. In order to use the full potential of the Database Inspector this might be a good excuse to migrate your app to use LiveData or Flow.
Looking back at our app, it looks like the card view is not designed to handle such long plant names. I’ll fix this later, but let’s move on to the next test.
Each plant has a different watering interval and I want to see what happens when watering day is past due. To do this, I need to add some plants to my garden; but first, I select the Live updates checkbox in the Database Inspector. When Live updates is checked, the Database Inspector automatically displays any changes your app makes to its database.
I go back to the My Garden tab and add some plants such as Avocado and Eggplant; but first, I go back to the Database Inspector and double click on garden_plantings to observe the table. Notice how the data in garden_plantings table is updated automatically as I add new plants.
Both these plants have a watering interval of 3 days. I don’t really want to wait 3 days to see what happens so I’ll edit the database and change the last_watering_day. Once again I go back to the Database Inspector and double click on garden_plantings. The last_watering_date is the last column of the table. I’ll change the values of both records to something smaller to reflect sometime before today’s date.
Ok, it looks like I went a little too far back in time, but that should still work for my test. The app UI seems fine displaying the due date. For future development, maybe we can suggest adding a warning for the user when watering day is passed.
Go ahead and give the new Database Inspector a try! Let us know what you think; and if you come across any issues, please don’t forget to file bugs!
Источник
Просмотр содержимого файла базы данных в Android Studio
Я использую Android Studio для разработки своего приложения с момента его выпуска.
До недавнего времени все работало нормально, приходится отлаживать вместе с проверкой файла базы данных. Поскольку я не знаю, как напрямую просмотреть базу данных, при отладке для создания файла базы данных мне нужно экспортировать файл базы данных со своего телефона на ПК.
Для этого мне нужно открыть DDMS > File Explorer . Как только я открываю DDMS, мне нужно повторно подключить USB, и я теряю поток отладки. После проверки файла базы данных мне нужно закрыть DDMS и снова подключить USB, чтобы вернуться в режим отладки.
Это слишком сложно. Есть ли у кого-нибудь лучший способ сделать это в Android Studio (я знаю, что в Eclipse это проще)?
28 ответов
Наконец, я нашел простейшее решение, которое не требует открытия DDMS.
На самом деле решение основано на том, что упомянул @Distwo, но это не должно быть так сложно.
Во-первых , запомните путь к файлу базы данных на устройстве, он всегда должен быть таким же. Например, мой: /data/data/com.XXX.module/databases/com.XXX.module.database
Во-вторых , выполните эту команду, которая загрузит файл базы данных на ваш компьютер.
Вам нужно просто скопировать и сохранить эту команду, после чего вы сможете использовать ее снова и снова.
В-третьих , если вы получили Permission Denied или что-то в этом роде, просто запустите adb root перед предыдущей командой.
Просмотр баз данных из Android Studio:
Изменить: чтобы просмотреть свою базу данных в эмуляторе, выполните следующие действия (для фактического устройства прокрутите вниз):
Скопируйте базу данных с устройства на свой ПК:
версии Android Studio Tools > Android > Android Device Monitor
Нажмите на свое устройство слева.
Вы должны увидеть свое приложение:
Откройте Проводник (одна из вкладок справа), перейдите в /data/data/databases
Выберите базу данных , просто щелкнув по ней.
Перейдите в правый верхний угол окна Android Device Monitor. Нажмите кнопку » извлечь файл с устройства «:
Откроется окно с вопросом, где вы хотите сохранить файл базы данных. Сохраните в любом месте на своем компьютере.
Откройте Проводник устройства через View > Tool Windows > Device File Explorer
Перейдите в data > data > PACKAGE_NAME > database , где PACKAGE_NAME — это имя вашего пакета (в приведенном выше примере это com.Movie )
Щелкните правой кнопкой мыши базу данных и выберите Save As. . Сохраните в любом месте на своем компьютере.
Теперь откройте установленный SQLiteBrowser . Нажмите « открыть базу данных », перейдите в папку, в которой вы сохранили файл базы данных, и открыть . Теперь вы можете просматривать содержимое своей базы данных.
Чтобы просмотреть свою базу данных на мобильном устройстве:
Перейдите в этот репозиторий Github и следуйте инструкциям в файле readme, чтобы просмотреть свою базу данных на своем устройстве. Вы получите что-то вроде этого:
Вот и все. Само собой разумеется, что вы должны отменить все эти шаги перед публикацией приложения.
Подключиться к Sqlite3 через ADB Shell
Я не нашел способа сделать это в Android Studio, но я получаю доступ к базе данных с помощью удаленной оболочки вместо того, чтобы каждый раз извлекать файл.
1- Перейдите в папку инструментов платформы в командной строке.
2- Введите команду adb devices , чтобы получить список ваших устройств.
3- Подключите оболочку к вашему устройству:
4- Перейдите в папку, содержащую ваш файл db:
5- запустите sqlite3 для подключения к вашей базе данных:
6- запускайте команды sqlite3, которые вам нравятся, например:
Примечание. Дополнительные команды для выполнения приведены ниже.
Шпаргалка по SQLite
Чтобы просмотреть таблицы в базе данных SQLite, выполните несколько шагов:
Перечислите таблицы в вашей базе данных:
Перечислите, как выглядит таблица:
Распечатать всю таблицу:
Список всех доступных команд командной строки SQLite:
На самом деле я очень удивлен, что никто не дал этого решения:
Я использовал Stetho несколько раз для разных целей (одна из них — проверка базы данных). На фактическом веб-сайте они также говорят о функциях для проверки сети и просмотра иерархии представлений.
Для этого требуется только небольшая настройка: 1 добавление зависимости gradle (которое вы можете закомментировать для производственных сборок), несколько строк кода для создания экземпляра Stetho и браузер Chrome (потому что он использует инструменты разработчика Chrome для всего).
Обновление : Теперь вы можете использовать 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
Самый простой способ без эмулятора
Предостережения:
Я давно не тестировал это. Это может не работать с API> = 25. Если команда cp не работает, попробуйте вместо этого одно из следующих действий:
Пояснение:
Первый блок настраивает разрешения вашей базы данных для чтения. Это использует run-as , который позволяет вам выдавать себя за пользователя вашего пакета, чтобы внести изменения.
Затем мы копируем базу данных в каталог, доступный для чтения / записи. Это позволяет пользователю получать доступ к adb.
Затем замените существующие права чтения / записи. Это важно для безопасности вашего приложения, однако при следующей установке права будут заменены.
Наконец, скопируйте базу данных на локальный диск.
В Android Studio 3 и более поздних версиях вы можете увидеть раздел «Проводник устройства» в правом нижнем углу Android Studio.
Откройте его, затем вы увидите дерево файлов, вы можете найти базы данных приложения по этому пути:
Попробуйте этот плагин для Android Studio SQLScout. вы можете видеть и редактировать базу данных вашего приложения в реальном времени.
Изменить: помните, что это платный плагин, но у него есть 24-часовая пробная версия, и он подходит для головной боли.
Самый простой способ — использовать библиотеку Android Debug Database (7,7 тыс. Звезд на GitHub) .
Преимущества:
- Быстрая реализация
- Просмотреть все базы данных и общие настройки
- Непосредственно редактировать, удалять, создавать значения базы данных
- Запустить любой запрос SQLite в данной базе данных
- Искать в ваших данных
- Скачать базу данных
- Добавление собственных файлов базы данных
- Нет необходимости рутировать устройство
Как использовать:
- Добавить debugImplementation ‘com.amitshekhar.android:debug-db:1.0.6’ в build.gradle (module) ;
- Запустить приложение;
- Найдите ссылку отладки в журналах (в LogCat) (т.е. D/DebugDB: Open http://192.168.232.2:8080 in your browser , ссылка будет другой) и откройте ее в браузере;
- Наслаждайтесь мощным инструментом отладки!
- К сожалению, не работает с эмуляторами.
- Если вы используете его через USB, запустите adb forward tcp:8080 tcp:8080
- Ваш телефон Android и ноутбук должны быть подключены к одной и той же сети (Wi-Fi или LAN).
Для получения дополнительной информации перейдите на страницу библиотеки на GitHub.
Простой и легкий способ просмотреть содержание базы данных в студии Android .
# Для Android Studio 4.1 Canary 6 и более поздних версий.
Вы можете использовать очень простую функцию Android Studio Database Inspector. Где вы можете проверять, запрашивать и изменять базы данных вашего приложения с помощью нового инспектора баз данных. Например, вы можете отлаживать свое работающее приложение, изменяя значения в своей базе данных и тестируя эти изменения на устройстве в реальном времени , не выходя из Android Studio .
Для начала разверните свое приложение на устройстве с API уровня 26 или выше и выберите Просмотр> Инструмент Windows> Инспектор базы данных в строке меню.
# Для Android Studio 4.0 и ниже
Сначала установите навигатор базы данных плагин в Android Studio
Во-вторых , перезапустите Android Studio.
В-третьих , сохраните базу данных в расположении по умолчанию, например: (C: \ Users \ User Имя \ Documents \ AndroidStudio \ DeviceExplorer \ emulator или устройство \ данные \ данные \ имя пакета \ базы данных)
В-четвертых , подключите сохраненный файл dbname_db в навигаторе базы данных .
Укажите тот же путь к файлу БД, который используется на шаге Третий .
Т.е. (C: \ Users \ Имя пользователя \ Documents \ AndroidStudio \ DeviceExplorer \ emulator или устройство \ data \ data \ имя пакета \ databases \ package naem \ dbname_db)
Наконец , просто проверьте соединение с БД, откройте консоль и делайте все, что хотите.
Если вы хотите обновить БД, просто повторите шаг Второй и просто сохраните его или обновите.
С КОДИРОВКОЙ .
Пройдя через все решения, я предложу
Используйте стето
Давайте посмотрим, насколько это просто
Добавьте следующие зависимости в файл build.gradle
Затем перейдите к методу mainActivity onCreate и добавьте следующую строку
Это потребует от вас
Теперь при запуске приложения из студии Android откройте Chrome и введите в адресной строке
chrome: // inspect /
На вкладке ресурсов> веб-SQL проверьте базу данных и таблицу легко поиграйте с ней в реальном времени
Новый инспектор баз данных, представленный в Android 4.1 Canary 5 Preview, где теперь вы можете проверять, запрашивать, изменять и отлаживать базы данных SQLite в вашем запущенном приложении прямо из IDE — https://developer.android.com/studio/preview/features?linkId=86173020#database-inspector
Хотя это довольно старый вопрос, но я думаю, что он актуален и сегодня. В последней версии android studio я нашел способ увидеть его [я не уверен, был ли он доступен в предыдущих версиях. ]
Вот как вы можете увидеть данные в своей базе данных:
Откройте Просмотр> Окна инструментов> Проводник устройства .
Затем папка данные> данные и вы увидите списки приложений.
Прокрутите немного вниз и посмотрите пакет [ваш пакет для заявление ].
Найдя пакет, откройте папку базы данных и выберите файл, справа нажмите и сохранить [загрузить]
Поскольку вы не можете видеть данные напрямую, существует инструмент Браузер БД для SQLite , перейти на веб-сайт https://sqlitebrowser.org/
Откройте браузер Db, нажмите открыть базу данных и выберите таблицу базы данных , которую вы загружен, и он покажет вам данные.
НОВОЕ РЕДАКТИРОВАНИЕ
Теперь (когда вы читаете этот пост) это еще проще, потому что Android studio уже поставляется с инспектором базы данных (прямо в правом нижнем углу).
Щелкните по нему, и вы увидите базу данных. Но убедитесь, что минимальный уровень API равен 26 , в противном случае измените его с помощью файла build.gradle как minSdkVersion 26
Чтобы узнать, где хранится база данных sqlite, созданная вами в студии Android, вам необходимо выполнить простые шаги:
Чтобы просмотреть свои данные, представленные в файле db, вам необходимо загрузить браузер sqlite или добавить аналогичный плагин в любой браузер, поэтому вам нужно открыть файл в браузере и просмотреть свои данные.
Вот скриншот, показывающий браузер, содержащий базу данных регистров.
Самый простой способ — подключить устройство и запустить Android Studio. Затем с панели инструментов:
- Вид -> Окно инструментов -> Проводник устройства
- Зайдите в data / data и найдите свой пакет
- найдите файл БД, который хотите изучить, и загрузите его
- Я рекомендую этот онлайн-инструмент: https://sqliteonline.com/ для изучения файла db
Другой способ — использовать библиотеку Stetho:
Добавьте зависимость Stello в свой build.gradle:
скомпилировать com.facebook.stetho: stetho: 1.5.0 ‘
Поместите следующую строку в onCreate () вашего класса приложения или основного действия:
Подключите устройство, запустите приложение и войдите на следующий сайт в Chrome:
chrome: // inspect / # устройств
Вот и все. теперь вы можете изучить свои таблицы.
Примечание: рекомендуется удалить зависимость перед переходом в рабочую среду.
Если вы хотите просматривать свои базы данных ИЗНУТРИ ANDROID STUDIO, вот что я использую:
Зайдите в Files / Settings / Plugins и найдите это:
. После перезапуска Android Studio вы можете выбрать загруженный файл базы данных следующим образом:
. Щелкните значок «Открыть консоль SQL», и вы получите прекрасный вид вашей базы данных в Android Studio:
Возможно, это не тот ответ, который вы ищете, но у меня нет лучшего способа загрузить БД с телефона. Я предлагаю убедиться, что вы используете эту мини-DDMS. Он будет полностью скрыт, если вы не нажмете на очень маленькое поле camoflage в самом нижнем левом углу программы. (пытался навести на него курсор, иначе вы могли его пропустить.)
Также раскрывающийся список без фильтров (вверху справа). У него буквально есть масса различных способов мониторинга различных процессов / приложений по PPID, имени и многому другому. Я всегда использовал это для мониторинга телефона, но имейте в виду, что я не занимаюсь разработкой, которая должна быть на 120% уверена, что база данных не делает ничего необычного.
Надеюсь, это поможет
Я собрал автоматизацию этого процесса из командной строки unix и поместил здесь код:
Это сценарий оболочки, который принимает имя пакета и имя базы данных в качестве параметров, загружает файл базы данных с подключенного устройства Android и запускает настраиваемый сценарий для загруженного файла. Затем с помощью инструмента unix, такого как «часы», вы можете открыть окно терминала с периодически обновляемым представлением вывода сценария базы данных.
Это ОЧЕНЬ старый вопрос, и мой ответ аналогичен некоторым ответам выше, но выполняется НАМНОГО быстрее. Приведенный ниже сценарий предназначен для Mac, но я уверен, что кто-то сможет изменить его для Windows.
1) Откройте редактор сценариев на своем Mac (вы можете просто найти редактор сценариев в Spotlight)
2) Скопируйте и вставьте текст ниже и измените его, указав путь к SDK, имя пакета и т. Д. (См. Ниже)
3) Сохраните скрипт !!
Это оно! Просто нажмите кнопку воспроизведения вверху, чтобы получить обновленный файл базы данных, который будет на вашем рабочем столе.
Замените следующие элементы в приведенном ниже сценарии:
path_to_my_sdk == >> укажите полный путь к вашему SDK
my_package_name == >> имя пакета вашего приложения
myDbName.db == >> имя файла вашей базы данных
Надеюсь, это кому-то поможет.
Я знаю, что вопрос довольно старый, но я считаю, что проблема все еще существует.
Просмотр баз данных из вашего браузера
Я создал инструмент разработки, который вы можете интегрировать как библиотеку в свой проект приложения для Android. Инструмент открывает серверный сокет в вашем приложении для связи через веб-браузер. Вы можете просмотреть всю свою базу данных и загрузить файл базы данных прямо через браузер.
Интеграцию можно осуществить через jitpack.io:
Настроить класс приложения
Чтобы компилировать DebugGhostLib только в определенных типах сборки или вариантах продукта, нам нужен абстрактный класс Application, который будет производным от специальных вариантов. Поместите следующий класс в папку main (в java > your.app.package ):
Теперь, для вашего типа сборки выпуска (или разновидности продукта), вы добавляете следующий класс Application в папку release (или разновидность продукта) (также в разделе java > your.app.package ):
Это класс приложения, который не ссылается на DebugGhostLib.
Также сообщите своему AndroidManifest.xml , что вы используете свой собственный класс приложения. Это будет сделано в вашей папке main :
Теперь, для вашего типа сборки отладки (или разновидности продукта), вы добавляете следующий класс Application в вашу папку debug (или product-разновидность) (также в разделе java > your.app.package ):
Пришлось перетащить базу данных с телефона на ПК. Сейчас я использую это очень хорошо сделанное и бесплатное приложение с множеством функций. Он работает на API 4.1+ с устройством с root-доступом .
Дайте мне знать, если найдете, как заставить его работать без рута.
Откройте терминал просмотра файлов устройства в нижней части Android Studio.
Откройте папку с именем Data , затем внутри данных снова откройте папку Data .
Прокрутите список папок и найдите папку с your.package.name . Откройте папку your.package.name > База данных . Вы получите your.databaseName . Щелкните правой кнопкой мыши your.databaseName и сохраните как C: / your / Computer / Directory.
Перейдите в C: / your / Computer / Directory, откройте your.databaseName с помощью DB SQLite.
Наконец, Android Studio поддерживает эту функцию с вкладкой инспектора базы данных. Вы можете легко применять операции просмотра / обновления / запроса. На данный момент это не стабильный канал, но вы можете попробовать с Android Studio 4.1 Canary 5 и выше.
Вы можете увидеть, как выглядит инспектор базы данных, здесь
Вы можете загрузить соответствующую версию здесь
Используйте android sqlite как базу данных на стороне сервера
Выполните следующие шаги, перечисленные ниже:
Начиная с версии 4.1 Android Studio имеет Database Inspector.
Но у него есть одно ограничение:
Инспектор баз данных работает только с библиотекой SQLite, включенной в операционную систему Android, на уровне API 26 и выше. Он не работает с другими библиотеками SQLite, которые вы связываете с вашим приложением.
Я использую Windows 7, мое устройство представляет собой эмулируемый API-интерфейс устройства Android 23. Я полагаю, что это то же самое для любого реального устройства, если оно имеет root-права, а API-интерфейс не превышает 23
Перейдите в Инструменты -> Android -> Android Device Monitor. Зайдите в проводник. В моем случае он находится в data / data // app_webview / databases / file_0 / 1
Мне нужно вручную добавить .db в конец файла с именем «1»
Это комбинация из других ответов с плюсом
- Установите Браузер БД для SQLite
- Получите точное местоположение MyBase.db в проводнике устройства, например, «/data/data/com.whatever.myapp/databases/MyBase.db»
- Установите окно проекта с Android на Project, чтобы вы могли видеть файлы (build.gradle, gradle.properties и т. Д.)
- В окне «Проект» щелкните правой кнопкой мыши и выберите «Открыть в терминале».
- В терминале вы теперь находитесь в корневом директоре вашего приложения с жесткого диска, поэтому выполните: adb pull /data/data/com.whatever.myapp/databases/MyBase.db
- Теперь в окне проекта вашей Android Studio у вас есть файл «Base.db».
- Дважды щелкните файл базы данных в Project, и теперь вы можете просматривать / редактировать свои базы данных в браузере БД.
- Когда вы будете готовы, просто сделайте запись изменений в браузере БД, чтобы базы данных были сохранены на жестком диске.
- В терминале с помощью команды: adb push MyBase.db /data/data/com.whatever.myapp/databases/MyBase.db вы просто отправляете с жесткого диска на устройство отредактированную базу данных.
Выполните указанные выше действия, чтобы открыть папку базы данных вашего приложения в 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, и все три файла будут заполнены в браузере.
Интересно, почему это решение не было упомянуто здесь!
. В Android Studio 4.1 и выше .
1.Run your app on an emulator or connected device running API level 26 or higher.
2.Select View > Tool Windows > Database Inspector from the menu bar.
3.Select the running app process from the dropdown menu.
4.The databases in the currently running app appear in the Databases pane. Expand the node for the database that you want to inspect.
Источник