我有一些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