关注IT专业技能,持续提升竞争力。

Android 4.0 之后不能在主线程中请求HTTP请求

Android 仙人球 2869℃ 0评论

Android开发过程中,解决android.os.NetworkOnMainThreadException问题:
一个APP如果在主线程中请求网络操作,将会抛出此异常。Android这个设计是为了防止网络请求时间过长而导致界面假死的情况发生。
解决方案有两个,一个是使用StrictMode,二是使用线程来操作网络请求。

第一种方法:简单暴力,强制使用,代码修改简单(但是非常不推荐)
在MainActivity文件的setContentView(R.layout.activity_main)下面加上如下代码

第二种方法就是我使用的方法也是我要推荐的方法,将请求网络资源的代码使用Thread去操作。在Runnable中做HTTP请求,不用阻塞UI线程。

上面是比较通用的方法,我的代码:

转载请注明:V-Lover » Android 4.0 之后不能在主线程中请求HTTP请求

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址