android程序运行报错:
错误:android.os.NetworkOnMainThreadException
程序我先用4.0写的,模拟器也是4.0的运行时报错,我查了一些资料发现在
onCreate方法中写上:
然后运行就OK了。
第二次又出现这种错误
程序是用2.2版本写的,模拟器是4.0的运行时报错,我又查了下原来跟模拟器有关模拟器版本高于2.3也出现这样的问题,我就重新新建了个2.2的模拟器就可以运行了。
基于要考虑两个方面的版本问题,所有我就写了两套android程序。
错误:android.os.NetworkOnMainThreadException
程序我先用4.0写的,模拟器也是4.0的运行时报错,我查了一些资料发现在
onCreate方法中写上:
// 详见StrictMode文档
// 版本2.3.3以上
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() //这里可以替换为detectAll() 就包括了磁盘读写和网络I/O
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects() //探测SQLite数据库操作
.penaltyLog() //打印logcat
.penaltyDeath()
.build()); 然后运行就OK了。
第二次又出现这种错误
程序是用2.2版本写的,模拟器是4.0的运行时报错,我又查了下原来跟模拟器有关模拟器版本高于2.3也出现这样的问题,我就重新新建了个2.2的模拟器就可以运行了。
基于要考虑两个方面的版本问题,所有我就写了两套android程序。
解决Android程序运行报错:错误:android.os.NetworkOnMainThreadException
本文详细介绍了如何解决在Android程序中遇到的错误:android.os.NetworkOnMainThreadException问题,通过在onCreate方法中设置StrictMode策略,避免在主线程中进行网络操作,从而确保程序的正常运行。文章还讨论了不同Android版本与模拟器版本对程序运行的影响,提出了考虑版本兼容性的解决方案。
1221

被折叠的 条评论
为什么被折叠?



