出现android.os.NetworkOnMainThreadException异常,是由于安卓版本升级的关系。
升级以后的版本不能在主线程中使用http请求,否则会报错。可能设计者已经发现主线程中阻塞可能引起较为严重的后果吧。解决办法有两个
一个就是众所周知的handler
一个就是在oncreate方法中,增加如下代码
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites().detectNetwork()
.penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects().detectLeakedSqlLiteObjects()
.penaltyLog().penaltyDeath().build());