异常:android.os.NetworkOnMainThreadException
2015-06-13 16:41
465 查看
Android 4.2项目:下载网络歌曲报错:android.os.NetworkOnMainThreadException网上搜索后知道是因为版本问题,在4.0之后在主线程里面执行Http请求都会报这个错,也许是怕Http请求时间太长造成程序假死的情况吧。那么网上的朋友也给出了相应的解决方案,这叫上有政策下有对策: 一:在发起Http请求的Activity里面的onCreate函数里面添加如下代码:
//详见StrictMode文档 StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); 二:使用Thread、Runnable、Handler这三个类:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.share_mblog_view); new Thread(runnable).start(); } Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); Bundle data = msg.getData(); String val = data.getString("value"); Log.i("mylog","请求结果为-->" + val); } } Runnable runnable = new Runnable(){ @Override public void run() { // // TODO: http request. // Message msg = new Message(); Bundle data = new Bundle(); data.putString("value","请求结果"); msg.setData(data); handler.sendMessage(msg); } }
相关文章推荐
- Android开发环境搭建
- android viewPager实现轮播效果一(本地图片篇)
- Android studio
- -写霸-Android 实现字体识别(二)
- 浅谈Android 动画,带你进入动画的世界
- -写霸-Android 实现字体识别(一)原理分析
- Android仿大众点评引导页(ViewPage)+主页面(Fragment)的实现
- android 上传图片前压缩文件
- Android安全相关社区&资源介绍
- Android RippleEffect波纹效果,重写ViewGroup
- android.database.sqlite.SQLiteException: table tb_diary2 has no column named recordPath 解决办法
- Android:View事件分发机制
- Android学习笔记:对Android应用进行单元测试
- Android学习笔记:对Android应用进行单元测试
- android dtmf
- 【Ubuntu】Android Studio配置
- Android使ScrollView显示到底部或任意位置
- Android学习记录<五>
- Android实战简易教程-第十六枪(LineChart实现数据趋势展示)
- 实现记住用户名和密码(加了一个引导页)