有没有可能为在Ffltter for Android模拟器中创建的SQLite数据库提供一个图形用户界面?

ygya80vv  于 2022-11-14  发布在  SQLite
关注(0)|答案(6)|浏览(176)

我在Ffltter中创建了一个数据库main.db,位于ApplicationDocumentsDirectory.Path。这起作用了,没有任何问题。
但是为了便于维护,并且不必总是创建一条SQL语句来查看数据或结构,我希望获得一个用于监视数据库的图形用户界面。首先,我想使用用于SQLite的浏览器数据库,但如果是这样的话,我不知道数据库保存在笔记本上的什么位置。而且我也找不到Ransack探员。
有没有找到数据库的方法,或者在图形用户界面上查看数据库的更简单的方法?
我使用Visual Studio代码进行开发,如果这有任何帮助的话。

o8x7eapl

o8x7eapl1#

对于Android,我找到的最简单的方法就是在我的机器上也安装Android Studio。在Android Studio中,您可以通过Device File Explorer查看设备上的数据库

View > Tool Windows > Device File Explorer.

在新选项卡中,确保选择了您的设备

MyAndroidDevice > data > data >com.myflutterapp

在这里您将找到您的Flutter应用程序文件,主数据库将位于*‘app_fltter文件夹’*中。
找到数据库文件后,右键单击并另存为。然后可以使用BrowserDBsqlitebrowser打开此数据库文件。
使用Xcode可能也有类似的方法,但我对那个特定的IDE不是很熟悉。

klh5stk1

klh5stk12#

除了F-1 Answer之外,如果您需要更复杂的工具来管理数据库,还有SQLite Studio。您可以执行以下步骤来实现这一点:
1.获取数据库(使用ADB):
亚行-s仿真器-5554Pull/data/data/com.your.package.yourappname/databases/you_database_name.db。
1.如需修改更新(会覆盖Android数据库)
Adb-s模拟器-5554PUSH~/桌面/您的数据库名称.db/data/data/com.your.package.yourappname/databases/
1.以下是指向SQLite Studio的链接(适用于MacOS、Linux和Windows)https://sqlitestudio.pl/

5m1hhzi4

5m1hhzi43#

  • 由于这是谷歌在颤动开发人员模拟器中浏览SQLite数据库的顶级结果,对于其他偶然发现这一结果的人,这里也有一个适用于iOS模拟器的解决方案:*

您需要首先找到您的数据库文件,对于iOS,该文件位于/Users/<youruser>/Library/Developer/CoreSimulator/Devices/下。假设您知道数据库名称,则可以获得如下完整路径:

find /Users/<youruser>/Library/Developer/CoreSimulator/Devices/ -name "<name>.db"

例如,使用sqflitegetDatabasesPath()作为创建数据库的位置,我可以看到文件位于/Users/<youruser>/Library/Developer/CoreSimulator/Devices//<devid>/data/Containers/Data/Application/<appid>/Documents/<name>.db
如果您在多个模拟器上进行测试,则可以使用以下命令查找设备ID:

xcrun simctl list # look under "== Devices ==" or grep for "Booted" if it's running

如果sqlite3很麻烦,那么使用前面建议的类似DB Browser for SQLite的工具来浏览数据库。如果使用vscode,您可以尝试使用SQLTools及其SQLite驱动程序。

dtcbnfnu

dtcbnfnu4#

在我的例子中,我遇到了Android Studio的问题,所以创建了这个可执行脚本。

adb exec-out run-as your-package-name cat databases/your_db_name.db > your_db_name.db
sqlite3 your_db_name.db "PRAGMA wal_checkpoint"
start "DB Browser For SQLite.exe" your_db_name.db

当然,您也可以使用另一个程序来替代DB浏览器来打开DB文件。
为了回答你最初提出的“数据库保存在哪里”的问题,它被保存在“data/data/Your_Package/数据库”中,但如果你使用的是Android 10+,由于作用域存储的原因,没有“特殊根模式”(reddit thread)的文件管理器应用程序可能看不到包文件夹。

6kkfgxo0

6kkfgxo05#

如果您在这里寻找MacOS解决方案,VS代码的扩展名为SQLite,如果您将数据库文件保存在getDatabasesPath()目录下,您可以在以下位置找到它:

/Users/USERNAME/Library/Containers/com.example.flutterApp/Data/Documents
mjqavswn

mjqavswn6#

我的是这样的:

C:\Users\Gabriel\AppData\Local\Google\AndroidStudio2021.2\device-explorer\Pixel_2_API_31 [emulator-5554]\data\data\br.com.example.myapp\files\db.sqlite

相关问题