【问题标题】:urlConnection.connect() works only in AsyncTask - androidurlConnection.connect() 仅适用于 AsyncTask - android
【发布时间】:2015-11-16 04:56:02
【问题描述】:

我正在使用

连接到网络服务
   urlConnection.connect();

这仅适用于 AsyncTask。我无法在普通活动上执行上述语句(没有 AsyncTask )

这是设计的行为,还是我遗漏了什么。

顺便说一句,这是我的第一个问题

【问题讨论】:

  • 我不确定android,但我确定与Web服务的连接必须在单独的threat中。否则,您可能会被阻止 UI,它在主 threat 中运行
  • 如果你不想实现 AsyncTask,你应该尝试 Volley 库,它易于学习且很有帮助。快乐编码:-)

标签: android connect urlconnection


【解决方案1】:

欢迎来到stackoverflow。在发布问题之前,请使用谷歌搜索和 stackoverflow 搜索。机会很大,其他人已经问过你的问题。 stackoverflow rules

网络通信必须在android中的单独线程中完成。 在此处阅读更多信息developer wiki

【讨论】:

    【解决方案2】:

    为避免创建无响应的 UI,请勿在 UI 线程上执行网络操作。

    你可能得到:

    NetworkOnMainThreadException
    

    因为您正试图在主 UI 线程上执行网络操作,从而使其不堪重负。而是使用AsyncTask

    另外,请注意,如果服务器响应时间过长,主线程也会变得无响应。

    请参阅Android Doc for Developers 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      • 2018-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多