我刚开始使用该新应用程序,想查看我是否通过翻新得到了任何响应并将其打印在TextView中。
但是该应用程序崩溃时没有任何堆栈跟踪,因此没有异常……什么也没有。
我有一个Retrofit界面和一个“工厂”,用于创建“请求”,一切都通过Kotlin Coroutine在不同的线程中运行。
Serdes
我很想发布一个错误消息...但是没有错误,一切都应该完美运行:/
答案 0 :(得分:4)
要使用Dispatchers.Main
,我们需要在应用程序的 build.gradle 文件依赖项中添加以下行:
实现'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1'
缺少依赖关系可能是导致应用程序崩溃而没有任何堆栈跟踪的原因。
答案 1 :(得分:0)
没有stacktrace,可能是这些问题:
service.getData()
可以抛出NullPointerException
debugTextView.text
可以抛出NullPointerException
response.toString()
可以抛出NullPointerException
答案 2 :(得分:0)
我对协程不是很熟悉,但是您是否只在视图上设置文本时才尝试使用主线程?像这样的东西:
val service = RetrofitFactory.makeCarDataService()
GlobalScope.launch(Dispatchers.Default/*change here*/) {
val request = service.getData()
val response = request.await()
/*change here*/
withContext(Dispatchers.Main) {
debugTextView.text = response.toString()
}
}
}
答案 3 :(得分:-1)
try {
val request = service.getData()
val response = request.await()
debugTextView.text =response.toString()
} catch (e: RuntimeException) {
e.printStackTrace()
} catch (t: Throwable) {
t.printStackTrace()
}