Caused by: android.os.NetworkOnMainThreadException
时间: 2023-07-24 07:44:55 浏览: 87
android.os.NetworkOnMainThreadException
这个错误是由于你在主线程上执行了网络操作。在 Android 应用程序中,主线程用于处理 UI 事件,例如响应用户输入和更新 UI。如果你在主线程上执行耗时的操作,例如网络操作,它会阻塞 UI 线程,导致应用程序变得不稳定或崩溃。
要解决此问题,你可以采取以下措施之一:
1. 将你的网络代码移动到后台线程。你可以使用 AsyncTask、Thread 或 Kotlin 协程等机制来实现后台线程。这将确保网络操作不会阻塞 UI 线程。
2. 使用 Android 中提供的网络库,例如 Volley 或 Retrofit。这些库在后台线程中执行网络操作,并提供了良好的回调机制来处理操作结果。
3. 如果你在 Android 3.0 或更高版本中运行应用程序,你可以在你的 AndroidManifest.xml 文件中启用 `android:usesCleartextTraffic="true"` 属性。这将允许你在主线程上执行网络操作,但不建议这样做。
希望这可以帮助你解决问题。
阅读全文