齐射在科林中返回null

时间:2019-05-27 08:22:40

标签: android api web kotlin android-volley

我有一些Volley代码,这些代码从我以前使用过的网络api中检索了一些数据,并且可以正常工作。但是现在我要使用它,它返回null。我已经在邮递员上测试了Web api,它工作正常,仍然返回与以前相同的json。我已经查找了凌空代码的其他方式。但是,在我多次运行它后,它不能很好地工作(它什么也没返回,我已经显示了日志,什么也没发生)。

这是我在onCreate上调用的方法

private fun loadData() {
        val stringRequest = StringRequest(Request.Method.GET,
           EndPoints.URL_GET_USER,
            Response.Listener<String> { s ->
                try {
                    val obj = JSONObject(s)
                    Log.d("S", s.toString())
                    if (!obj.equals(" ")) {
                        val array = obj.getJSONArray("hak_akses")
                        for (i in 0..array.length() - 1) {
                            val objectArtist = array.getJSONObject(i)
                            objectArtist.getString("idpegawai")
                            Log.e("test", objectArtist.getString("idpegawai"))
                        }
                    } else {
                        Toast.makeText(getApplicationContext(), obj.getString("message"), Toast.LENGTH_LONG).show()
                    }
                } catch (e: JSONException) {
                    e.printStackTrace()
                }
            },
            Response.ErrorListener { volleyError ->
                Toast.makeText(applicationContext, volleyError.message, Toast.LENGTH_LONG).show()
                Log.e("ERROR", volleyError.message.toString())
            })
        Log.e("REQ", stringRequest.toString())
        val requestQueue = Volley.newRequestQueue(this)
        requestQueue.add<String>(stringRequest)
    }

这是Volley Singleton

class VolleySingleton : Application() {
    override fun onCreate() {
        super.onCreate()
        instance = this
    }

    private val requestQueue: RequestQueue? = null
        get() {
            if (field == null) {
                return Volley.newRequestQueue(applicationContext)
            }
            return field
        }

    fun <T> addToRequestQueue(request: Request<T>) {
        request.tag = TAG
        requestQueue?.add(request)
    }

    companion object {
        private val TAG = VolleySingleton::class.java.simpleName
        @get:Synchronized var instance: VolleySingleton? = null
            private set
    }
}

这是我的清单

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

    <application
        android:name=".VolleySingleton"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        >

这是json

{
    "hak_akses": [
        {
            "idpegawai": "3313"
        },
        {
            "idpegawai": "5181"
        },
        {
            "idpegawai": "3325"
        }
    ]
}

这是日志结果

E/REQ: [ ] http://10.20.2.14//simserv/index.php?fun=tes 0xe2d95e40 NORMAL null

0 个答案:

没有答案