【问题标题】:how to fetch information using volley library in kotlin如何在 kotlin 中使用 volley 库获取信息
【发布时间】:2017-11-21 19:45:06
【问题描述】:

我在服务器上有一个 php 文件,我必须获取信息,但我不知道如何将参数传递给查询。

例如,如果我有这样的查询:SELECT * FROM accounttable WHERE idaccount = 1,我想将这个1作为参数传递,我该怎么做?

 val stringRequest = StringRequest(Request.Method.POST, URL, Response.Listener<String>{ s ->
        try {

                val array = JSONArray(s)

                for (i in 0..array.length() - 1) {
                    val objectAccount = array.getJSONObject(i)
                    val account = Account(
                            objectAccount.getString("accountplace"),
                            objectAccount.getString("useraccount"),
                            objectAccount.getString("accountpass"))

                    listAccounts.add(account)

                }


        }catch (e: JSONException){
            e.printStackTrace()
        }
    }, Response.ErrorListener { error: VolleyError? -> Log.e("error", "error")  })

    val  requesQueue = Volley.newRequestQueue(this)
    requesQueue.add<String>(stringRequest)

【问题讨论】:

    标签: kotlin android-volley


    【解决方案1】:

    您需要覆盖Request 上的getParams() 方法。为此,您可以继承StringRequest,或创建object expression(类似于Java 中的anonymous inner class);如下图。

    val stringRequest = object : StringRequest(Request.Method.POST, URL, Response.Listener { s ->
        // Your success code here
    }, Response.ErrorListener { e ->
        // Your error code here
    }) {
        override fun getParams(): Map<String, String> = mapOf("idaccount" to "1")
    }
    

    【讨论】:

    • 谢谢!有效!你能解释一下为什么你必须写对象:StringRequest吗?因为没有这个,我无法覆盖 getParams 方法
    • @zasaz 这是对象表达式的语法(正如我上面提到的,它是 Java 的匿名类声明的替代品);这是在 Kotlin 中创建匿名类对象的唯一方法。至于为什么语言设计者采用那种特定的语法,不知道。
    • @Bryan 你如何将stringRequest 添加到queque? queque.add(stringRequest)报错Expecting a class body
    • 您的建议帮助我使用 Kotlin 在 volley 中设置标题和参数谢谢您
    猜你喜欢
    • 2021-12-11
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 2023-02-08
    • 2021-09-29
    • 1970-01-01
    相关资源
    最近更新 更多