Я делаю SDK для Android, но у меня возникают некоторые проблемы ...
Я получаю json из тела запроса и пытаюсь разобрать его в пользовательской модели, но он не работаетвсе свойства остаются нулевыми, но когда я делаю это без этих асинхронных и uiThread, синтаксический анализатор работает.Но поскольку я делаю запрос, я не могу сделать это в главном потоке ...
Мой Android API равен 23, мой друг протестировал тот же код на API 27, и он работал, я не знаю, есть либольше разница между нашими устройствами.
Заранее спасибо
@JvmStatic
fun loginWithFacebook(token: String, listener: RequestListener<User>) {
doAsync {
val gson = GsonBuilder().create()
uiThread { listener.onStart() }
val response = post(body = "$INSTANCE_URL/auth", "{\n" +
"\"provider\": \"facebook\",\n" +
"\"access_token\": \"" + token + "\"" +
"}\n")
uiThread {
response?.let { res ->
try {
System.out.println("BCFLW-SDK \n Response : $res")
val user = gson.fromJson(res, User::class.java)
System.out.println("BCFLW-SDK Parsed User : $user")
listener.onCompleted(result = user)
} catch (e: Exception) {
System.out.println("BCFLW-SDK Error Exception : ${e.message}")
listener.onError(RequestError.PARSE)
}
return@uiThread
}
listener.onError(RequestError.DEFAULT)
}
}
}