Не могу заполнить массив JSON в список Android DevelopmentAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Не могу заполнить массив JSON в список Android Development

Сообщение Anonymous »

Я пытался отправить массив 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>

Подробнее здесь: https://stackoverflow.com/questions/703 ... evelopment
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»