【问题标题】:Android: Send a simple request with Volley not workingAndroid:在 Volley 不工作的情况下发送一个简单的请求
【发布时间】:2018-07-21 16:10:40
【问题描述】:

我认为这是一个愚蠢的问题,但我真的不知道我的简单应用出了什么问题(顺便说一句,我是 Android 新手)。

即使这个“简单”的例子对我也不起作用(这令人沮丧!)

https://developer.android.com/training/volley/simple

我总是收到“那行不通!”的消息。

我的代码是。

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val textView = findViewById<TextView>(R.id.text)

        val queue = Volley.newRequestQueue(this)
        val url = "http://www.apple.com"

        // Request a string response from the provided URL.
        val stringRequest = StringRequest(Request.Method.GET, url, Response.Listener<String> { response ->
                // Display the first 500 characters of the response string.
                textView.text = "Response is: ${response.substring(0, 500)}"
            },
            Response.ErrorListener { textView.text = "That didn't work!" })

        // Add the request to the RequestQueue.
        queue.add(stringRequest)

    }

}

我在 Mac Book 上使用 Android Studio 和虚拟设备进行开发。

有什么建议吗?

【问题讨论】:

  • 查看 logcat..检查清单中的互联网权限
  • 请编辑错误侦听器,以便您确切知道错误是什么。您可以记录错误或这样做:- Response.ErrorListener { error ->textView.text =error.toString() })

标签: android kotlin android-volley


【解决方案1】:

看起来您的代码没问题,所以您的应用可能缺少 Internet 权限,这对于 HTTP 请求当然是强制性的。

请将此添加到您的AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET"/>

【讨论】:

  • 感谢您的回复。在我的清单中,我已经给予了许可。首先,我有点困惑,在设备上安装权限后,应用信息中没有列出该权限。但是后来我发现,这些权限很小,因此没有在该视图中列出 - 长答案简短 - 不幸的是,这不是这里的问题:-/
猜你喜欢
  • 1970-01-01
  • 2011-03-13
  • 2015-11-12
  • 1970-01-01
  • 2018-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多