Я пытался отправить массив JSON из моей сети в ArrayList в классе с библиотекой Volley. < /p>
Вот массив, который я хочу заполнить; Я хочу заменить фиктивные данные в функции getBestselling () на данные из веб -сайта
filename = dummydatasource.kt (это просто класс Kotlin)
fun getBestSelling(): Observable {
val dummy1 = ProductEntity(name = "Bell Pepper Red", description = "1kg, Priceg",
price = 20000,
picture = R.drawable.iv_pepper_red,
id = 5
)
val dummy2 = ProductEntity(name = "Beef bone", description = "1kg, Priceg",
price = 25000,
picture = R.drawable.iv_beef_bone,
id = 6
)
val dummy3 = ProductEntity(name = "Boiler Chicken", description = "1kg, Priceg",
price = 15000,
picture = R.drawable.iv_boiler_chicken,
id = 7
)
val dummy4 = ProductEntity(name = "Ginger", description = "250gm, Priceg",
price = 22000,
picture = R.drawable.iv_ginger,
id = 4
)
val data = listOf(dummy1, dummy2, dummy3, dummy4)
return Observable.just(ArrayList(data))
}
< /code>
Вот что я делаю, чтобы заполнить массив < /p>
fun getBestSelling(): Observable {
var url:String="http:// 192.168.56.1/toko-online/mobile/pro_kategori.php"
var rq : RequestQueue = Volley.newRequestQueue(this)
var data = ArrayList()
var js = JsonArrayRequest(Request.Method.GET,url,null, Response.Listener{ response ->
for (x in 0..response.length()-1){
data.add(ProductEntity(response.getJSONObject(x).getInt("id"),
response.getJSONObject(x).getInt("id"),response.getJSONObject(x).getString("name"),
response.getJSONObject(x).getString("url"),response.getJSONObject(x).getString("description"),
response.getJSONObject(x).getInt("price"),response.getJSONObject(x).getInt("stock"),
response.getJSONObject(x).getInt("category_id")))
}
}, Response.ErrorListener { error ->
Toast.makeText(this,error.message,Toast.LENGTH_LONG).show()
})
rq.add(js)
return Observable.just(data)
}
< /code>
Ошибка происходит из строки < /p>
var rq : RequestQueue = Volley.newRequestQueue(this)
< /code>
Ошибка: < /p>
Тип несоответствие: предполагаемый тип - DummyDataSource, но контекст! Ожидалось < /p>
< /blockquote>
Поэтому я скопировал этот код < /p>
fun getdata(): Observable {
var url:String="http:// 192.168.56.1/toko-online/mobile/pro_kategori.php"
var rq : RequestQueue = Volley.newRequestQueue(this)
var data = ArrayList()
var js = JsonArrayRequest(Request.Method.GET,url,null, Response.Listener{ response ->
for (x in 0..response.length()-1){
data.add(ProductEntity(response.getJSONObject(x).getInt("id"),
response.getJSONObject(x).getInt("id"),response.getJSONObject(x).getString("name"),
response.getJSONObject(x).getString("url"),response.getJSONObject(x).getString("description"),
response.getJSONObject(x).getInt("price"),response.getJSONObject(x).getInt("stock"),
response.getJSONObject(x).getInt("category_id")))
}
}, Response.ErrorListener { error ->
Toast.makeText(this,error.message,Toast.LENGTH_LONG).show()
})
rq.add(js)
return Observable.just(data)
}
increate в основной деятельности. Но из -за этого я не могу заполнить массив в getBestselling () в dummyDatasource.kt , потому что функция getData () только возвращает данные на Croate
Есть ли какой -нибудь способ сделать данные getBestselling () in dummydatas>
Я пытался отправить массив JSON из моей сети в ArrayList в классе с библиотекой Volley. < /p> Вот массив, который я хочу заполнить; Я хочу заменить фиктивные данные в функции getBestselling () на данные из веб -сайта filename = dummydatasource.kt (это просто класс Kotlin) [code]fun getBestSelling(): Observable {
val data = listOf(dummy1, dummy2, dummy3, dummy4) return Observable.just(ArrayList(data)) } < /code> Вот что я делаю, чтобы заполнить массив < /p> fun getBestSelling(): Observable { var url:String="http:// 192.168.56.1/toko-online/mobile/pro_kategori.php" var rq : RequestQueue = Volley.newRequestQueue(this) var data = ArrayList() var js = JsonArrayRequest(Request.Method.GET,url,null, Response.Listener{ response -> for (x in 0..response.length()-1){ data.add(ProductEntity(response.getJSONObject(x).getInt("id"), response.getJSONObject(x).getInt("id"),response.getJSONObject(x).getString("name"), response.getJSONObject(x).getString("url"),response.getJSONObject(x).getString("description"), response.getJSONObject(x).getInt("price"),response.getJSONObject(x).getInt("stock"), response.getJSONObject(x).getInt("category_id"))) } }, Response.ErrorListener { error -> Toast.makeText(this,error.message,Toast.LENGTH_LONG).show() }) rq.add(js) return Observable.just(data) } < /code> Ошибка происходит из строки < /p> var rq : RequestQueue = Volley.newRequestQueue(this) < /code> Ошибка: < /p>
Тип несоответствие: предполагаемый тип - DummyDataSource, но контекст! Ожидалось < /p> < /blockquote> Поэтому я скопировал этот код < /p> fun getdata(): Observable { var url:String="http:// 192.168.56.1/toko-online/mobile/pro_kategori.php" var rq : RequestQueue = Volley.newRequestQueue(this) var data = ArrayList() var js = JsonArrayRequest(Request.Method.GET,url,null, Response.Listener{ response -> for (x in 0..response.length()-1){ data.add(ProductEntity(response.getJSONObject(x).getInt("id"), response.getJSONObject(x).getInt("id"),response.getJSONObject(x).getString("name"), response.getJSONObject(x).getString("url"),response.getJSONObject(x).getString("description"), response.getJSONObject(x).getInt("price"),response.getJSONObject(x).getInt("stock"), response.getJSONObject(x).getInt("category_id"))) } }, Response.ErrorListener { error -> Toast.makeText(this,error.message,Toast.LENGTH_LONG).show() }) rq.add(js) return Observable.just(data) } [/code] increate в основной деятельности. Но из -за этого я не могу заполнить массив в getBestselling () в dummyDatasource.kt , потому что функция getData () только возвращает данные на Croate Есть ли какой -нибудь способ сделать данные getBestselling () in dummydatas>