Я знаю, что есть еще несколько тем на эту же тему, но еще не решил свою проблему, поэтому мне нужна помощь, если возможно. Я пытаюсь отправить запрос GET в API, используя залп в Android. Мой код kotlin показан ниже:
val requestQueue = Volley.newRequestQueue(c)
val sharedPref = c.getSharedPreferences(SHARED_PREFS, MODE_PRIVATE).getString(TEXT, "")
Log.i("EDITTT", sharedPref)
var jsonArrayRequest = object : JsonArrayRequest(Request.Method.GET, url, null,
Response.Listener { response ->
var jsonArray: JSONArray = response
for (item in 0..jsonArray.length()) {
var bookObject: JSONObject = jsonArray.getJSONObject(item)
var title: String = bookObject.getString("title")
var author: String = bookObject.getString("author")
var publisher: String = bookObject.getString("publisher")
var date : String = bookObject.getString("date")
var bookItem: BookItem = BookItem(title, author, publisher)
bookData.add(bookItem)
println(bookData)
}
liveBookData.setValue(bookData)
},
Response.ErrorListener { error ->
Log.i("ERRORRR", error.toString())
})
{
@Throws(AuthFailureError::class)
override fun getHeaders(): Map<String, String> {
val headers = HashMap<String, String>()
headers.put("Authorization", "$sharedPref");
return headers
}
}
И я получаю ОШИБКУ: Причина: org. json .JSONException: Индекс 2 вне диапазона [0 .. 2) Если у вас есть предложения, дайте мне знать. Спасибо!