Проблема с Fuel
Раньше, этот код работал, а теперь выдает ошибку типа: "failure android.os.networkonmainthreadexception com.github.kittinunf.fuel.core.FuelError $Companion.wrap(FuelError.kt:85)" ... ну и так далее. С чем это может быть связано? В манифесте тоже прописал доступ к интернету. на англ. сайтах вроде было решение, но я в англ. не очень, а через переводчики что-то понять сами знаете...
package com.example.indx
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.github.kittinunf.fuel.Fuel
import com.github.kittinunf.fuel.core.Headers
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val bodyJson = """{"ApiContext":{"Login":"xxx","Wmid":"123456789","Culture":"ru-RU","Signature":"gdfgkgjdfkgjdfkgdfjkgdfjk="}}"""
val (requested, responsed, resulted) = Fuel.post("https://api.indx.ru/api/v2/trade/Tools")
.body(bodyJson)
.header(Headers.CONTENT_TYPE, "text/json")
.header(Headers.USER_AGENT, "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36")
.responseString()
yaz.append(resulted.toString())
}
}
Ответы (1 шт):
Автор решения: Сергей Бувака
→ Ссылка
Исключение NetworkOnMainThreadException вас явно указывает на вашу ошибку. Вы пытаетесь сделать сетевой запрос на основном (UI) потоке, что запрещено в Android.
Вам необходимо ваш запрос вынести в отдельный поток.