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

直到最近,一切都很好,我必须调试和检查数据库文件。由于我不知道如何直接看到数据库,当我调试生成数据库文件时,我不得不将数据库文件从我的手机导出到PC上。

为此,我必须打开DDMS >文件资源管理器。一旦我打开DDMS,我必须重新连接USB,我失去了调试线程。在检查数据库文件之后,我必须关闭DDMS并重新连接USB以回到调试模式。

这太复杂了。有人有更好的方法来做到这一点在Android Studio(我知道它更容易在Eclipse) ?


当前回答

最后,Android Studio通过数据库检查器选项卡支持此功能。您可以轻松应用视图/更新/查询操作。它现在还不是稳定的渠道,但你可以尝试Android Studio 4.1 Canary 5或更高版本。

您可以在这里看到数据库检查器的样子

你可以在这里下载相应的版本

其他回答

最后,我找到了一个最简单的解决方案,不需要打开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/

您需要做的就是复制并存储这个命令,然后您就可以一次又一次地使用它。

第三,如果你得到了Permission Denied或类似的情况,只需在前面的命令之前运行adb root。

我知道这个问题很老了,但我相信这个问题仍然存在。

从浏览器查看数据库

我创建了一个开发工具,你可以作为一个库集成到你的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类,它将以特殊的风格派生。把下面的类放在你的主文件夹(在java > your.app.package下):

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

现在,对于您的发布构建类型(或产品风味),您将以下应用程序类添加到您的发布(或产品风味)文件夹(也在java > your.app.package下):

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

这个应用程序类不会引用DebugGhostLib。

同时告诉AndroidManifest.xml你正在使用自己的应用程序类。这将在你的主文件夹中完成:

<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>

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

你可以在这里找到工具。

简单和容易的方法来查看Android工作室中的数据库内容。

# Android Studio 4.1 Canary 6及更高版本

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

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

# Android Studio 4.0及以下版本

首先,在Android Studio中安装数据库导航插件

第二,重启Android Studio

第三,将数据库保存到默认位置,如:(C:\Users\User . 名称\文档\AndroidStudio\DeviceExplorer\模拟器或设备\数据\数据\包名\数据库)

第四,连接数据库导航器中保存的dbname_db文件

给出第三步中使用的相同的DB文件路径

i.e . (C)

最后,只需测试DB连接和打开控制台,做任何你想做的事情。

如果你想要刷新数据库,请重复步骤2并保存或刷新。

编码快乐! !

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

视图——>工具窗口——>设备文件资源管理器 进入data/数据并找到您的包 找到你想要浏览并下载的DB文件 我推荐使用这个在线工具:https://sqliteonline.com/来查看db文件

另一种方法是使用Stetho库:

在build.gradle中添加Stello依赖: 编译com.facebook.stetho: stetho: 1.5.0的 在你的应用程序类或主活动的onCreate()上放以下一行: Stetho.initializeWithDefaults(这个); 连接您的设备,运行应用程序,并在Chrome上进入以下站点: chrome: / /检查/ #设备

就是这样。现在可以探索您的表了。

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

打开Android Studio底部的设备文件探索终端。

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

向下滚动文件夹列表,找到带有你的.package.name的文件夹。打开文件夹your.package.name >数据库。你得到你的。databasename。右击你的。databaseName和Save as到C:/your/Computer/Directory。

进入C:/your/Computer/Directory,打开你的。databaseName with DB SQLite