在 Android 台设备上,由 Room 库创建的 SQLite 数据库
On an Android Device where is located SQLite database, created by Room library
Room 库在设备上创建的应用程序 SQLite 数据库位于何处?
上下文:
我有一个创建和使用 Room 数据库的应用程序。要调试数据库,我想在 SQLite 查看器应用程序中打开它,但我不知道数据库在测试设备上的位置。
您可以使用:
String path = getDatabasePath("you_database_name").getAbsolutePath();
Go to Tools -> DDMS
或单击右侧栏中布局预览下方的设备文件资源管理器。
设备监视器 window 将打开。
在“文件资源管理器”选项卡中,click data -> data -> your project name -> databases
。
单击从设备图标中提取文件。使用 .db 扩展名保存文件。
建议使用Facebook提供的Stetho库,这样就不用每次都去拉取数据库了。您可以在浏览器中查看数据库。
您还可以借助这个很棒的库 Android-Debug-Database 在桌面浏览器上调试您的数据库。请注意,您 运行 应用程序和 desktop/laptop 所在的移动设备必须连接到同一网络。
无论在Android中使用Room、OrmLite还是SQLite位于应用程序包的 databases 文件夹中。
您可以按照以下步骤访问 databases 文件夹。
- 视图 > 工具Windows > 设备文件资源管理器
从 Device File Explorer 转到 data 文件夹,其中存储了所有应用程序包。确保模拟器或设备已连接。
- 数据 > 数据
然后,找到您的应用程序包并转到您的数据库。
- com.company.my > 数据库 > yourdatabasename.db
然后您可以将您的数据库保存在您的计算机中并用它做任何您想做的事情。
我使用SQLiteBrowser浏览数据库。
除了@musooff 的回答,如果您想将数据库保存到本地存储或想为您的数据库提供自定义路径。那么你可以使用下面的方法:
val DATABASE_NAME = Environment.getExternalStorageDirectory().toString() + File.separator + "MyDBFolder" + File.separator + "example.db"
Room.databaseBuilder(context, AppDatabase::class.java, DATABASE_NAME).build()
这将在您的本地存储中创建一个包含 example.db
数据库的文件夹 MyDBFolder
。从那里您可以轻松访问数据库。
Room 库在设备上创建的应用程序 SQLite 数据库位于何处?
上下文: 我有一个创建和使用 Room 数据库的应用程序。要调试数据库,我想在 SQLite 查看器应用程序中打开它,但我不知道数据库在测试设备上的位置。
您可以使用:
String path = getDatabasePath("you_database_name").getAbsolutePath();
Go to Tools -> DDMS
或单击右侧栏中布局预览下方的设备文件资源管理器。
设备监视器 window 将打开。
在“文件资源管理器”选项卡中,click data -> data -> your project name -> databases
。
单击从设备图标中提取文件。使用 .db 扩展名保存文件。
建议使用Facebook提供的Stetho库,这样就不用每次都去拉取数据库了。您可以在浏览器中查看数据库。
您还可以借助这个很棒的库 Android-Debug-Database 在桌面浏览器上调试您的数据库。请注意,您 运行 应用程序和 desktop/laptop 所在的移动设备必须连接到同一网络。
无论在Android中使用Room、OrmLite还是SQLite位于应用程序包的 databases 文件夹中。
您可以按照以下步骤访问 databases 文件夹。
- 视图 > 工具Windows > 设备文件资源管理器
从 Device File Explorer 转到 data 文件夹,其中存储了所有应用程序包。确保模拟器或设备已连接。
- 数据 > 数据
然后,找到您的应用程序包并转到您的数据库。
- com.company.my > 数据库 > yourdatabasename.db
然后您可以将您的数据库保存在您的计算机中并用它做任何您想做的事情。
我使用SQLiteBrowser浏览数据库。
除了@musooff 的回答,如果您想将数据库保存到本地存储或想为您的数据库提供自定义路径。那么你可以使用下面的方法:
val DATABASE_NAME = Environment.getExternalStorageDirectory().toString() + File.separator + "MyDBFolder" + File.separator + "example.db"
Room.databaseBuilder(context, AppDatabase::class.java, DATABASE_NAME).build()
这将在您的本地存储中创建一个包含 example.db
数据库的文件夹 MyDBFolder
。从那里您可以轻松访问数据库。