在Android Studio中查看数据库文件的内容


250

自发布以来,我一直在使用Android Studio开发应用程序。

直到最近,一切都运转良好,我必须与数据库文件一起进行调试。由于我不知道如何直接查看数据库,因此在调试生成数据库文件时,必须将手机中的数据库文件导出到PC。

为此,我必须打开DDMS > File Explorer。打开DDMS后,必须重新连接USB,并且会丢失调试线程。检查数据库文件后,我必须关闭DDMS,然后再次重新连接USB以返回到调试模式。

太复杂了。是否有人在Android Studio中有更好的方法(我知道在Eclipse中更容易)?


Answers:


301

从Android Studio查看数据库:

编辑:要在仿真器上查看数据库,请按照以下步骤操作(对于实际设备,请滚动至底部):

  1. 下载并安装SQLiteBrowser

  2. 将数据库从设备复制到PC:

    • Android Studio版本<3.0

      • 通过打开DDMSTools > Android > Android Device Monitor

      • 点击左侧的设备
        您应该看到您的应用程序: 在此处输入图片说明

      • 转到文件资源管理器(右侧的选项卡之一),转到/data/data/databases 在此处输入图片说明

      • 通过单击数据库选择它。

      • 转到“ Android设备监控器”窗口的右上角。单击“ 从设备中提取文件 ”按钮: 在此处输入图片说明

      • 将打开一个窗口,询问您要将数据库文件保存在何处。将其保存在PC上的任何位置。

    • 大于等于3.0的Android Studio版本

      • 通过打开设备文件资源管理器View > Tool Windows > Device File Explorer

      • 转到data > data > PACKAGE_NAME > database,其中PACKAGE_NAME是您的包的名称(在上面的示例中为com.Movie

      • 右键单击数据库,然后选择Save As...将其保存在PC上的任何位置。

  3. 现在,打开您安装的SQLiteBrowser。单击“ 打开数据库 ”,导航到保存数据库文件的位置,然后打开。现在,您可以查看数据库的内容。


要在移动设备上查看数据库:

转到 Github存储库,并按照自述文件中的说明进行操作,以便能够在设备上查看数据库。您得到的是这样的:

在此处输入图片说明

而已。不用说,您应该在发布应用程序之前撤消所有这些步骤。


2
那对我来说是正确的答案,因为sqlitebrowser工具的提示非常棒。感谢
Manu Zi

26
/ data不会在Device Monitor的文件浏览器中扩展,我想它无法访问,因为列出/ data或/ data / data目录的条目需要superUser访问。我仍然能够通过具有su特权的adb shell访问我的数据库文件。有任何想法如何在文件管理器中获取su访问权限?
Saravanabalagi Ramachandran,2015年

2
@ZekeDran,是的,该方法仅显示来自仿真器的数据,而不是您的设备。我添加了一些步骤来查看设备上的数据库。检查编辑
Ojonugwa Jude Ochalifu

11
它可以工作,但是仿真器必须运行的API不能超过API23。如果使用API​​ 25,则文件浏览器中没有内容
Manos

2
您的Github链接中的数据库管理器正在为我工​​作!它还有机会测试查询!
basti12354

198

通过ADB Shell连接到Sqlite3

我在Android Studio中没有找到实现此目的的任何方法,但是我使用远程外壳程序访问数据库,而不是每次都提取文件。

在此处找到所有信息:http : //developer.android.com/tools/help/adb.html#sqlite

1-在命令提示符下转到您的platform-tools文件夹

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-导航到包含您的数据库文件的文件夹:

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

5-运行sqlite3以连接到您的数据库:

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步被拒绝许可,您怎么看?
Adrian Olar 2014年

4
您可能需要root avd和/或在步骤
3'root

2
步骤5:找不到sqlite3。为什么?
sabsab 2015年

3
因为您需要安装才能使用
Paul Paca-Vaca Seleznev

12
我个人试图访问数据库文件夹时遇到权限被拒绝的问题,运行成功了。run-as your.package.name
Yann39年

83

实际上,我很惊讶没有人提供这种解决方案:

看一下Stetho

我曾多次出于不同目的使用Stetho(其中之一是数据库检查)。在实际的网站上,他们还讨论了网络检查和查看视图层次结构的功能。

它只需要进行一些设置:添加1个gradle依赖项(您可以在生产版本中将其注释掉),几行代码以实例化Stetho和一个Chrome浏览器(因为它使用Chrome devtools进行所有操作)。

更新:现在,您可以使用Stetho来查看Realm文件(如果使用的是Realm而不是SQLite DB):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);和3chrome://inspect/#devices
弗兰克妙周四

2
非常简单,您可以在chrome浏览器中无需第三方工具就可以查看数据库中的数据。
Mateus Viccari

别忘Stetho.initializeWithDefaults(this);Application上课。
wonsuc

1
很棒的工具。如果正确完成设置,您的应用将列在#devices页面上。单击检查,然后转至资源> Web 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
我遇到第二条命令的问题:运行方式。我正在获取“ com.mycompany.myappname”未知。是的,我很肯定使用的是正确的软件包名称!
Scott Biggs's

1
@PhuLai您尝试过其他设备吗?什么设备出现故障?
2002年

1
我尝试使用Nexus 6P,API25。我认为这种方法不适用于新的Android版本。
foo

chmod 660 databases/database_name应该早于chmod 660 databases
Alaa M.

@PhuLai-我也是这样,然后我尝试跳过该cp命令,只是pull从外部(在更改权限之后)执行了一个操作,然后它起作用了(adb pull data/data/package.name/databases/db_name.db
Alaa

52

Android Studio 3及更高版本中,您可以看到“设备文件资源管理器”部分。

打开它,然后您可以看到文件树,可以在以下路径中找到应用程序数据库:

/data/data/{package_name}/databases/

在此处输入图片说明


2
当我双击应用程序的数据库文件时,它将显示所有不可读的字符。您使用什么SQLite阅读器查看数据库内容?
Surekha

4
我建议sqlitebrowser.org免费开放源代码,并且适用于所有平台。
阿里Zeynali

3
我的database.db文件不包含任何表。
Binil'1

文件夹为空。错误:run-as: Could not set capabilities: Operation not permitted。三星设备:stackoverflow.com/questions/37413667/...
O-9

25

最后,我找到了一个不需要打开DDMS的最简单的解决方案。

实际上,该解决方案基于@Distwo提及的内容,但不必那么复杂。

首先,记住设备中数据库文件的路径,该路径应该相同。例如我的是:/data/data/com.XXX.module/databases/com.XXX.module.database

其次,执行此命令,将您的数据库文件拖到PC上

 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 buildsadb root但是,运行后,pull命令只是冻结,我需要手动将其停止。
LaDude 2014年

@Daniela尝试使用run-as your.package.name它作为您应用程序的用户身份“登录”
m02ph3u5 2015年

使用以上命令将.db文件复制到您的桌面,在Firefox中安装SQLiteManager浏览器插件并开始浏览。2分钟的工作!
JaydeepW 2015年

该root命令用于仿真器,您不能只运行此命令并为您的“电话”创建根。
达尔潘

1
一切都完成了,得到了database.db。文件,但该database.db文件不包含任何表
Binil

16

试试这个android studio插件SQLScout。您可以实时查看和编辑您的应用数据库。

SQLScout

编辑:请记住,这是一个付费插件,但需要24小时试用,适合头痛的时候。


17
它是付费产品,您忘了提及。
yshahak's

58
并非如此,它有24小时的试用期,我计划将自己作为开发人员的未来超过24小时。
yshahak

可悲的是,它不是免费的。
K.Sopheak's

试用时间仅为36小时。
马赫迪·莫卡达斯

9

经过所有解决方案后,我会建议

使用Stethos
让我们看看它有多简单

在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 studio运行应用程序时,打开Chrome,然后在地址栏中输入
chrome:// inspect /

在“资源”选项卡>“ Web SQL”中,轻松实时地检查数据库和表。


房间只是orm,在sql方面没有任何变化,它的工作方式相同
ShankPossible18年

9

最简单的方法是使用Android调试数据库(在GitHub上为7.3k星)

Android调试数据库

优点:

  • 快速实施
  • 查看所有数据库和共享首选项
  • 直接编辑,删除,创建数据库值
  • 在给定的数据库上运行任何SQLite查询
  • 搜索数据
  • 下载资料库
  • 添加自定义数据库文件
  • 无需root设备

如何使用:

  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手机和笔记本电脑应连接到同一网络(Wifi或LAN)

有关更多信息,请访问GitHub上的库页面


1
这是最好而又不那么痛苦的过程!谢谢Daniel
Sudip

4

要知道您在android studio中创建的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/下载浏览器

这是显示包含注册数据库的浏览器的屏幕截图

谢谢,


4

Android Studio中查看数据库内容的简便方法。

#对于Android Studio 4.1 Canary 6及更高版本

您可以使用非常简单的Android Studio功能“ 数据库检查器”。您可以在其中使用新的数据库检查器检查,查询和修改应用程序的数据库。例如,您可以通过修改数据库中的值并在不离开Android Studio的情况下实时 测试设备上的更改来调试正在运行的应用程序。

首先,将您的应用程序部署到运行API级别26或更高级别的设备,然后从菜单栏中选择“ 视图”>“工具Windows”>“数据库检查器 ”。

适用于Android Studio 4.0及更低版本

首先,在Android Studio中安装Database Navigator插件

在此处输入图片说明

,重启Android Studio

第三,将数据库保存到默认位置,例如:(C:\ Users \ User Name \ Documents \ AndroidStudio \ DeviceExplorer \ emulator或device \ data \ data \ package name \ databases)

在此处输入图片说明

,在数据库浏览器中连接保存的dbname_db文件

在此处输入图片说明 在此处输入图片说明

提供在第三步中使用的相同的数据库文件路径

(C:\ Users \ User Name \ Documents \ AndroidStudio \ DeviceExplorer \ emulator或device \ data \ data \ package name \ databases \ package naem \ dbname_db)

最后,只需测试数据库连接并打开控制台,然后执行您想做的任何事情即可。

在此处输入图片说明

如果你想刷新DB只是重复步骤,只是保存或刷新。

快乐编码!!!


3
该解决方案需要您每天的工作量很大。并且在数据库中的每个更改上,您都需要重新加载sql文件-似乎有点复杂。我更喜欢使用一些插件这给能够查看数据库在本地服务器上
МаксимПетлюк

1
是的,您是对的,直到Database Navigator中没有实时数据更新,我希望它会尽快更新它的插件。
纳宾

没错,这将是一个很大的特点
МаксимПетлюк

是的,直到现在,如果我们需要查询数据,添加,编辑和删除数据,这对我来说是最好的方法
Nabin

我是否需要始终执行保存以刷新数据库?有没有像mysql这样更简单的方法,我需要的是按下刷新按钮。
ドリューライアンアア

3

最简单的方法是连接设备并运行Android Studio,然后从工具栏运行:

  1. 查看->工具窗口->设备文件资源管理器
  2. 进入数据/数据并找到您的包裹
  3. 找到要浏览的数据库文件并下载
  4. 我建议使用此在线工具:https : //sqliteonline.com/ 探索数据库文件

另一种方法是使用Stetho库:

  1. 将Stello依赖项添加到您的build.gradle中:

    编译'com.facebook.stetho:stetho:1.5.0'

  2. 将以下行放在Application类或主Activity的onCreate()上:

    Stetho.initializeWithDefaults(this);

  3. 连接设备,运行应用程序,然后在Chrome上输入以下网站:

    chrome:// inspect /#devices

就是这样。您现在可以浏览表格。

注意:建议移至生产环境之前删除依赖项。


2

如果您想从ANDROID STUDIO中浏览数据库,这就是我正在使用的内容:

转到文件/设置/插件,然后查找:

在此处输入图片说明

...重新启动Android Studio后,您可以像这样选择下载的数据库文件: 在此处输入图片说明

...单击“打开SQL控制台”图标,然后最终在Android Studio中看到数据库的漂亮视图: ![在此处输入图片描述


2
所以我必须一直从模拟器复制数据库吗?
Maksim Kniazev,


1

这是一个非常古老的问题,我的答案与上面的某些答案类似,但是速度更快。以下脚本适用于Mac,但我敢肯定有人可以针对Windows对其进行修改。

1)在Mac上打开脚本编辑器(您只能在Spotlight中搜索脚本编辑器)
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

希望这对某人有帮助。


它为我工作。除非您必须在输出目录/Users/User/Desktop/myDbName.db中将“用户”更改为您的MacBook用户名
肯尼·达比里

1

我知道这个问题已经很久了,但是我相信这个问题仍然存在。

从浏览器查看数据库

我创建了一个开发工具,可以将它作为一个lib集成到您的android应用程序项目中。该工具会在您的应用中打开服务器套接字,以通过Web浏览器进行通信。您可以浏览整个数据库,并直接通过浏览器下载数据库文件。

在此处输入图片说明

可以通过jitpack.io进行集成:

项目build.gradle:

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

应用程序build.gradle:

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

设置应用程序类

为了仅以某些构建类型或产品样式编译DebugGhostLib,我们需要一个抽象的Application类,该类将以特殊的样式派生。将以下课程放在您的main文件夹中(在java> 下your.app.package):

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

现在,对于您的发行版本类型(或产品风味),将以下Application类添加到您的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>

现在,对于您的调试构建类型(或产品风味),将以下Application类添加到您的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();
    }
}

您可以在此处获得该工具


特别是在Stetho停止使用较新的Chrome浏览器之后,这是一个很好的工具,
Homayoun Behzadian


1

打开位于Android Studio底部的设备文件浏览终端。

打开名为Data的文件夹,然后在Data内部再次打开Folder Data

打开文件夹数据

向下滚动文件夹列表,然后找到带有your.package.name的文件夹 打开文件夹your.package.name > 数据库。您得到 your.databaseName。右键单击your.databaseName并另存为C:/ your / Computer / Directory。

转到C:/ your / Computer / Directory,使用DB SQLite打开your.databaseName

在此处输入图片说明


1

对于Android Studio 3.X

  1. 查看->工具窗口->设备文件资源管理器
  2. 在文件资源管理器中,数据->数据-> com。(您的应用程序包)->数据库
  3. 右键单击数据库,然后保存在本地计算机上。要打开该文件,您只需拖动数据库文件即可使用SQLite Studio。

这是SQLite Studio的链接:https : //sqlitestudio.pl/index.rvt? act =download


1

随着Android Studio 4.1 Canary和Dev预览版的发布,您可以使用一个名为

数据库检查器

数据库检查员

安装AS 4.1+,运行应用程序,打开数据库检查器,现在您可以在数据库检查器面板的左侧查看数据库文件,然后选择表以查看内容。

实时查询

您可以使用“运行SQL”选项运行查询,或者如果您使用的是Room,然后打开数据库检查器并运行应用程序,则可以通过单击@Query批注左侧的运行按钮在界面中运行DAO查询。

实时查询


1

像服务器端数据库一样使用android sqlite

请按照以下步骤操作:

  1. 找到数据库工具窗口,然后单击它,如下图所示

在此处输入图片说明

  1. 点击加号图标,然后选择Android SQLite,如下图所示

在此处输入图片说明

  1. 将您的android设备连接到计算机

  2. 选择您需要的软件包,然后选择数据库,如下图所示 在此处输入图片说明

  3. 在执行上述所有步骤之前,必须确保您具有访问文件的正确权限:/data/data//database/databasefile.db

完成所有这些步骤后,您将看到如下数据库内容:

在此处输入图片说明

在此处输入图片说明

最后重要的是

每次更新数据库数据时,都必须单击更新图标。

在此处输入图片说明

希望这对您有用!谢谢 !


0

这可能不是您要找的答案,但是我没有更好的方法从电话下载数据库。我建议您确保使用的是小型DDMS。如果不单击程序左下角的很小的camoflage框,它将被超级隐藏。(尝试将鼠标悬停在它上面,否则您可能会错过它。)

另外,下拉菜单中没有过滤器(右上角)。从字面上看,您可以通过PPID,名称等等来监控不同进程/应用程序的方式有很多不同。我一直用它来监视电话,但是请记住,我没有做那种需要120%肯定的开发工作,数据库并没有做异常的事情。

希望能帮助到你

在此处输入图片说明


0

我将这个过程的unix命令行自动化组合在一起,并将代码放在这里:

https://github.com/elliptic1/Android-Sqlite3-Monitor

这是一个Shell脚本,它将程序包名称和数据库名称作为参数,从连接的Android设备下载数据库文件,并对下载的文件运行自定义脚本。然后,使用“ watch”之类的unix工具,可以打开一个终端窗口,其中包含数据库脚本输出的定期更新视图。


0

我正在使用Windows 7,我的设备是一个模拟的android设备API23。我想,只要它植根并且API不高于23,它对于任何实际设备都是相同的

转到工具-> Android-> Android设备监视器。转到文件资源管理器。就我而言,它位于data / data // app_webview / databases / file_0 / 1中

我必须在名为“ 1”的文件末尾手动添加.db


0

它是其他答案加上一个加号的组合

  1. 为SQLite安装数据库浏览器
  2. 从MyFile.db的设备文件资源管理器中获取确切的位置,例如“ /data/data/com.whatever.myapp/databases/MyBase.db”
  3. 将项目窗口从Android设置为Project-这样您就可以看到文件(build.gradle,gradle.properties等)
  4. 在“项目”窗口中,右键单击并选择“在终端中打开”
  5. 在终端中,您现在已从硬键进入应用程序的根目录控制器,因此执行:adb pull /data/data/com.whatever.myapp/databases/MyBase.db
  6. 现在,在您的Android Studio的“项目”窗口中,您有一个文件“ MyBase.db”
  7. 双击Project中的db文件,您现在可以在DB Browser中浏览/编辑数据库
  8. 准备就绪后,只需在数据库浏览器中执行写更改,以便将数据库保存在hardisk上
  9. 在终端中,使用以下命令:adb push MyBase.db /data/data/com.whatever.myapp/databases/MyBase.db,您只是从Hardisk发送到已编辑数据库的设备。

0

请按照上述步骤在Android设备资源管理器中打开应用程序的数据库文件夹,在其中您可以看到六个文件,前三个文件名为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

现在,在任何SQLite浏览器中打开第一个文件,这三个文件将全部填充到浏览器中。


0

最后,Android Studio通过“数据库检查器”选项卡支持此功能。您可以轻松地应用查看/更新/查询操作。目前尚不处于稳定状态,但您可以尝试使用Android Studio 4.1 Canary 5和更高版本。

您可以在此处查看数据库检查器的外观

您可以在此处下载适当的版本

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.