【问题标题】:Using a GET request in Volley debugging with kotlin在使用 kotlin 的 Volley 调试中使用 GET 请求
【发布时间】:2019-12-28 04:29:52
【问题描述】:

我是 kotlin / android 开发的新手,我一直在关注 google / android 文档,使用 Volley 发送请求....仍然没有去处理 JSON。

当我使用 android development studio 将示例 GET 放入 kotlin 的函数中时,我收到来自 ErrorListener 的错误消息

    val textView = findViewById<TextView>(R.id.textReturn)
    val url = "http://wwww.google.com"
    val queue = Volley.newRequestQueue(this)

    val stringRequest =
        StringRequest(Request.Method.GET, url, Response.Listener<String> { response ->

            var strRes = response.toString()
            textView.text = strRes

        }, Response.ErrorListener {textView.text = "That didn't work!"})

    queue.add(stringRequest)
}

我不确定如何调试并且来自非常 javascript / php 背景,其中 console.log() 或 print() 将发布到控制台,kotlin 似乎没有这么简单的功能。

【问题讨论】:

  • 在 kotlin 中控制台日志错误你可以使用 'Response.ErrorListener { error -> VolleyLog.e(TAG, "/post request fail! Error: ${error.message}") completionHandler(null ) }'

标签: android kotlin android-volley


【解决方案1】:

不完全确定 Volley,但例如。使用 Retrofit,错误监听器只会在硬错误时触发 - 但常见的 HTTP 状态代码,除了200 OK,最终会出现在响应监听器中。使用 GsonConverter 和 ORM 进行改造是将 JSON 转换为 POJO 的最常见组合(可以将整个 API 定义为 Web 服务并自动转换 JSON)。然而,当仍在学习 Java/Kotlin 时,使用 Volley 而不使用 ORM 自动映射可能不会有什么坏处(因为所有的细节都被抽象掉了)。 PHP 背景对于任何 API 交互都很有用。

关于实际问题,在 Kotlin 中可以使用:println 登录,Android Studio 可用于实际的debugging(它提供了与F12 工具和xdebug 类似的功能)。使用日志进行调试仅部分适用,例如。当想让控制台讲述发生的事情时 - 否则,只需使用断点、监视或评估表达式。

【讨论】:

    猜你喜欢
    • 2019-12-19
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 2017-12-22
    相关资源
    最近更新 更多