Метод класса, который возвращает HTTP-ответ топлива - PullRequest
0 голосов
/ 07 августа 2020

Я новичок в Kotlin и Android. Я изо всех сил пытаюсь создать класс, который может возвращать данные после того, как библиотека Fuel выполняет асинхронный запрос. Мой класс и функция OnCreate из основного действия приведены ниже. Всякий раз, когда функция вызывается, выполняется запрос и сервер отвечает правильно, однако метод печати в основном файле активности никогда не вызывается, и он даже не печатает жестко закодированную строку, поэтому я не понимаю, как правильно вернуться из функция приостановки.

    class BikeApi {

    init {
        FuelManager.instance.basePath = "base path"
    }

     fun GetAllBikes() : String {
        var model = ""
        Fuel.get("path").responseJson { request, response, result ->

            val json = JSONArray(result.get().content)
            for (i in 0 until json.length()) {
                val test = JSONObject(json[i].toString())
                model = test.get("model").toString()
                val year = test.get("year").toString()
                //bikes.add(Bike(model,year))
                Log.d("TAG", model)
                println(model)

            }
        }
        return model;
    }
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
    val bikeApi = BikeApi()
    GlobalScope.launch {
        val test = async { BikeApi.GetAllBikes() }
        Log.d("TAG", "test")
    }


}
...