Залп вернуть ноль в котлин - PullRequest
0 голосов
/ 27 мая 2019

У меня есть несколько кодов Volley, которые получают некоторые данные из веб-API, которые я уже использовал ранее, и это сработало.Но теперь я хочу использовать это, возвращая ноль.Я уже тестировал 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
...