先写了个简单的程序main(),测试网络功能,正常。按理说这个也是主线程.

  然后在主程序调用网络,就取不到数据。这个奇怪啊。输出一下日志,发现是立即返回的。嗯?记得安卓编程中,明确要求主线程不能访问网络,难道?

  于是,启动另外一个线程,访问网络,数据就得到了。

  如果阁下遇到类似问题,或可试之。

主线程中访问网络有限制?无法得到数据,必须另起线程相关推荐

  1. android 打开网络设置 异常,Android主线程不能访问网络异常解决办法

    从两个方面说下这个问题: 不让访问网络的原因 解决该问题的办法 不让访问网络的原因: 由于对于网络状况的不可预见性,很有可能在网络访问的时候造成阻塞,那么这样一来我们的主线程UI线程 就会出现假死的现 ...

  2. android不能在主线程,android.os.NetworkOnMainThreadException 在4.0之后谷歌强制要求连接网络不能在主线程进行访问(示例代码)...

    谷歌在4.0系统以后就禁止在主线程中进行网络访问了,原因是: 主线程是负责UI的响应,如果在主线程进行网络访问,超过5秒的话就会引发强制关闭, 所以这种耗时的操作不能放在主线程里.放在子线程里,而子线 ...

  3. [译]不要在UI主线程中进行耗时的操作

    原文: Why Ice Cream Sandwich Crashes your App 问题 自Android Ice Cream Sandwich发布后, 这个问题就开始在StackOverflow ...

  4. 在子线程中更改主线程中的控件的信息,在子线程中用toast

    一丶在子线程中不允许更改主线程中的控件的信息,也不允许在子线程中用toast,我们要更改的话 (1)消息机制:使用handler (由主线程调用) 在主程序中Handler handler = new ...

  5. [转]Android限制只能在主线程中进行UI访问的实现原理

    目录 Android限制只能在主线程中进行UI访问 Thread的实现 Android Thread 的构造方法 Android Thread 的start()方法 如何在我们自己的代码中去检测当前T ...

  6. UnityThread子线程使用只能在主线程中调用的函数或Unity API

    Unity的Socket网络编程中,为了防止程序卡死,一般使用多线程来监听端口,当收到来自客户端的消息时,需要显示在界面上.但是如果直接在子线程中操作Unity的界面或物体会报错.国外一个大神写了一个 ...

  7. 【Android面试】主线程中的Looper.loop()一直无限循环为什么不会造成ANR?

    Android面试中,你也许会被问到题目中的问题,这里我们基于以下几点来延伸解读其中原因: 1.什么是ANR?ANR发生的原因是什么? 2.Looper为什么要无限循环? 3.线程的几种状态 4.主线 ...

  8. 用Handler的post()方法来传递线程中的代码段到主线程中执行

    自定义的线程中是不能更新UI的,但是如果遇到更新UI的事情,我们可以用handler的post()方法来将更新UI的方法体,直接传送到主线程中,这样就能直接更新UI了.Handler的post()方法 ...

  9. 每个java程序都至少有一个线程给主线程,java程序在主线程中判断各个子线程状态的操作,该如何解决...

    java程序在主线程中判断各个子线程状态的操作 每个子线程在队列为空时会wait等待其他线程添加新url到队列,到最后所有子线程都取不到url时也会都wait住,要在主线程中判断如果所有的子线程都是w ...

  10. 【Android 异步操作】Android 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )

    文章目录 一.判定当前线程是否是主线程 二.子线程中执行主线程方法 三.主线程中执行子线程方法 一.判定当前线程是否是主线程 在 Android 中 , 如果要判定当前线程是否是主线程 , 可以使用如 ...

最新文章

  1. 2019年的面试经验:Java程序员越来越悲催了!
  2. 个人喜欢的关于模式识别、机器学习、推荐系统、图像特征等方面个人主页及博客
  3. bash 中的变量可以这么用
  4. python websocket server_Python Websocket服务端
  5. PHP访问MySQL数据库
  6. matlab中double 和single数据类型的差别
  7. 高级音频降噪插件:Klevgrand Brusfri for Mac
  8. 重置mysql8.0.16的root密码
  9. flv 视频 文件 下载
  10. 电脑开机计算机配置,电脑开机显示配置更新怎么办
  11. 第四方支付跟第三方支付的区别,支付源码有什么用
  12. HarryPotter第一部—Aragog-1.0.2
  13. qq 登陆界面怎么测试
  14. python---之struck.pack()和struct.unpack
  15. seata的部署与微服务集成(包含多集群异地容灾配置)
  16. 暴力破解:利用正则功能自动提取爆破结果中的特征值
  17. 苹果高管参与直播,或将发布新品
  18. php路由固件升级提示,【2017年整理】路由器固件修改教程(个人理解)-无线路由区-中国无线论坛 -.doc...
  19. java中两种异常类型_Java中的三种异常类型
  20. 怎么修改PDF文件中的文字

热门文章

  1. tp5组装数据_tp5数据库查询和模型结合使用
  2. js 刷新,返回上一步,前进,后退,
  3. php 文件目录操作相关函数file_exists mkdir chmod touch
  4. 表多个字段与其他表关系,left join on 顺序
  5. 面试官最爱的volatile关键字
  6. JAVA高性能I/O设计模式
  7. Ubuntu 16.04配置VNC进行远程桌面连接
  8. 【Android开发】消息提示框与对话框-使用AlertDialog创建对话框
  9. Sendmail with Attachment script
  10. 细说进程、应用程序域与上下文之间的关系(三)—— 深入了解.NET上下文