位于设备上由Room库创建的应用程序SQLite数据库在哪里?
上下文:我有一个创建和使用Room数据库的应用程序。要调试数据库,我想在SQLite查看器应用程序中打开它,但我不知道数据库在测试设备上的位置。
Go to Tools -> DDMS
或单击右栏中布局预览下面的设备文件浏览器。
设备监视器窗口将打开。
在文件资源管理器选项卡中,click data -> data -> your project name -> databases
。
单击从设备图标中拉出文件。使用.db扩展名保存文件。
我建议请使用Facebook提供的Stetho库,这样您每次都不需要拉数据库。您可以在浏览器中检查数据库。
您还可以借助这个令人敬畏的库Android-Debug-Database在桌面浏览器上调试您的数据库。请注意,运行应用程序和台式机/笔记本电脑的移动设备必须连接到同一网络。
无论您在Android中使用Room,OrmLite还是SQLite都位于应用程序包的数据库文件夹中。
您可以按照以下步骤访问数据库文件夹。
从设备文件资源管理器转到存储所有应用程序包的数据文件夹。确保已连接仿真器或设备。
然后,找到您的应用程序包并转到您的数据库。
然后,您可以将数据库保存在计算机中,并使用它执行任何操作。
我使用SQLiteBrowser来浏览数据库。
您可以使用 :
String path = getDatabasePath("you_database_name").getAbsolutePath();
除了@musooff回答,如果要将数据库保存到本地存储或想要为数据库提供自定义路径。然后您可以使用以下方法:
val DATABASE_NAME = Environment.getExternalStorageDirectory().toString() + File.separator + "MyDBFolder" + File.separator + "example.db"
Room.databaseBuilder(context, AppDatabase::class.java, DATABASE_NAME).build()
这将在本地存储中创建一个包含MyDBFolder
数据库的文件夹example.db
。从那里您可以轻松访问数据库。