当前位置: 首页 > news >正文

android.os.NetworkOnMainThreadException

网络请求要放在子线程中操作,使用handle进行消息传递。

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

if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}

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

 

Handler handler = new Handler(){
    @Override
    public void handleMessage(Message msg){
        Bundle data = msg.getData();
        //从data中拿出存的数据
        String val = data.getString("value");
        //将数据进行显示到界面等操作
    }
};
Runnable runnable = new Runnable(){
    @Override
    public void run(){
        //进行访问网络操作
        Message msg = Message.obtain();
        Bundle data = new Bundle();
        data.putString("value", "存放数据");
        msg.setData(data);
        handler.sendMessage(msg);
    }
};

 

相关文章:

  • 编译release版,报错:the apk for your currently selected variant(app-release-unsigned.apk)is not signed.
  • Kotlin 条件控制
  • Debugview(VC调试工具)是一款电脑查错调试软件,该工具是程序员调试必备,能在运行程序后将错误提示完整记录在日志文本中,以供直接查看,进行故障修复,快下载使用吧!
  • Android解决读取txt文件中文乱码问题,reload和cnvert区别,按行读取txt文件,按 |进行字符串分割
  • 实用Android框架
  • git merge  gitk git入门
  • arm架构和x86架构区别
  • 怎样新建jniLibs, RTLD_LAZY) failed: dlopen failed: /data/app/com.itep.mt.dispatch-is too small to be an
  • Dart语言基础
  • Java静态内部类
  • 接口的调用怎样查找实际的调用。
  • try,catch语句,编译时候debug还会报错
  • 简单理解.net。visual studio与 .NET Framework和C#的关系
  • Visual Studio 快捷键
  • Android Studio 的 10 个使用技巧
  • 【翻译】babel对TC39装饰器草案的实现
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • Android交互
  • gf框架之分页模块(五) - 自定义分页
  • Laravel 中的一个后期静态绑定
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Mysql5.6主从复制
  • Python 反序列化安全问题(二)
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Vue2 SSR 的优化之旅
  • 安卓应用性能调试和优化经验分享
  • 前端临床手札——文件上传
  • 实现简单的正则表达式引擎
  • 延迟脚本的方式
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 云大使推广中的常见热门问题
  • 正则表达式小结
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • $forceUpdate()函数
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (动态规划)5. 最长回文子串 java解决
  • (二)斐波那契Fabonacci函数
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (汇总)os模块以及shutil模块对文件的操作
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (理论篇)httpmoudle和httphandler一览
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (转) ns2/nam与nam实现相关的文件
  • (转)【Hibernate总结系列】使用举例
  • (转)创业的注意事项
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET业务框架的构建
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @hook扩展分析