从Android Studio调试器导出对象

时间:2015-03-11 13:16:09

标签: android debugging intellij-idea android-studio code-generation

有没有办法从Android Studio(IntelliJ IDEA)调试器导出对象。例如,Visual Studio有Object Exporter

最后,我需要创建/生成使用基于服务器响应的值初始化的对象。因此,欢迎任何其他实现此目标的解决方案。

3 个答案:

答案 0 :(得分:3)

以下是如何将名为output的变量导出到剪贴板的方法:

  • 添加断点并以调试模式执行代码
  • 当您点击断点时,选择您的对象,然后点击'评估表达式'在上下文菜单中
  • 编写一个表达式,将对象转换为表达式字段中的String,例如,如果您的项目有权访问Gson

    new GsonBuilder().create().toJson(output)
    
  • 在结果的上下文菜单中,选择'复制值'

答案 1 :(得分:2)

这可能比您想要的更麻烦,但以下方法确实有效:

创建自定义数据类型渲染器,如提到的@Donn_Felker。假设您在类路径上有一个可以将对象序列化为JSON(或您感兴趣的其他格式)的类,请在数据类型渲染器中使用该对象来生成包含序列化数据的String。

就我而言,我的项目名称为GsonProvider,这个类本质上是Google的GSON的Factory类。我在数据类型渲染器中使用的表达式是:com.example.GsonProvider.getGson().toJson(this) 类名必须是完全限定的。

如果您可以在“渲染”时使用它,那就太好了。被检查的节点,但不幸的是,虽然你可以看到那里的序列化值,但似乎没有办法将它复制到剪贴板或以任何方式导出它。

因此,在扩展节点时,将表达式添加到'部分。我能够通过选择"使用表达式列表",然后添加名称为" json"和值com.example.GsonProvider.getGson().toJson(this)

我使用名称" json"保存我的自定义渲染器。

有了这个,您可以右键点击变量中的变量'或者'手表'窗口,然后选择"查看为" - > json,你会看到它是一个json字符串。右键单击它,然后选择"复制数据"。这会将json字符串复制到剪贴板。

答案 2 :(得分:1)

您可以使用自定义数据类型渲染器。更多信息:https://stackoverflow.com/a/24376692/5210

在Google上进行初步搜索似乎没有回复,但我今天的google-fu可能有些偏差。 :)