如何知道何时收到来自服务器的响应?

加布里埃尔·埃斯特万(Gabriel Esteban)

好的,我要向服务器请求一个url,然后将该URL加载到上WebView,但是出现一个问题:当您运行http请求时,您需要在单独的线程中进行操作,并且loadUrl()需要在UI线程。那么,我该怎么做才能首先发出请求,然后再加载URL?

该代码不在Activity中,因此我无法调用runOnUiThread(Runnable)

我该怎么做?

编辑:正如Alécio所建议的,最好不要在自定义视图中包含太多代码,因此我想做的是创建一个方法,当应用程序收到服务器的响应时,该方法允许我传递url。我用于请求的代码是:

HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://requesturl.com");
try {
    HttpResponse response = client.execute(post);
    InputStream content = response.getEntity().getContent();
    String url = getStringFromInputStream(content);
    //web.loadUrl(url);     
} catch (ClientProtocolException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

因此,有可能知道何时收到响应?

阿莱西奥·卡瓦略(AlécioCarvalho)

WebView是一个UI组件,它必须位于Activity或Fragment的上下文中,因此来自UI线程的loadUrl()是可以的。

如果要进行服务器调用,请在UI上显示某些内容之前先处理响应,然后可以使用常规选项使用HttpURLConnection连接到服务器URL 请参见下面的示例代码:

URL url = new URL("http://www.android.com/");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
 InputStream in = new BufferedInputStream(urlConnection.getInputStream());
 readStream(in);
finally {
 urlConnection.disconnect();
}
}

在此示例中,您确实需要在后台线程中执行它。永远不要来自UI线程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何知道何时收到服务器的响应?

来自分类Dev

无法收到来自远程服务器的响应

来自分类Dev

没有收到来自服务器的响应:Java.net.SocketException:recvfrom失败:ECONNRESET

来自分类Dev

受到来自特定服务器的HTTP响应的困惑

来自分类Dev

我如何在Ember.js中看到来自服务器的响应

来自分类Dev

多个POST请求后我没有收到来自服务器的数据

来自分类Dev

收到来自IMAP服务器的推送电子邮件

来自分类Dev

验证客户端是否已收到来自服务器的消息

来自分类Dev

TCP 服务器未收到来自 TCP 客户端的消息 (Java)

来自分类Dev

java中的XMPP服务器没有收到来自GCM服务器的所有消息

来自分类Dev

如何知道(服务器端)何时注册设备?

来自分类Dev

UDP连接未收到来自服务器的任何答复-Python(可能还会使用boost的c ++)

来自分类Dev

我的Postfix邮件服务器收到来自未知用户的登录尝试(强行尝试)-怎么办?

来自分类Dev

TCP 客户端(java)没有收到来自 TCP 服务器的消息(C#)

来自分类Dev

在node.js中,如果没有收到来自HTTP请求的响应,您怎么知道?

来自分类Dev

在node.js中,如果没有收到来自HTTP请求的响应,您怎么知道?

来自分类Dev

无法收到服务器的完整响应

来自分类Dev

无法收到服务器的完整响应

来自分类Dev

scrapyrt没有收到来自scrapy搜寻器的响应

来自分类Dev

TCP套接字服务器如何判断从客户端接收到的数据何时完成?

来自分类Dev

ASP.NET服务器如何知道会话何时终止?

来自分类Dev

如何让ASP.NET页知道何时可以从服务器下载文件

来自分类Dev

ASP.NET服务器如何知道会话何时终止?

来自分类Dev

是否有可能知道HTTP响应何时到达服务器中的客户端?(ASP.NET)

来自分类Dev

如何在 500 个内部服务器错误 angularjs 之后/何时获得发布响应

来自分类Dev

Java套接字未收到来自Print Writer的响应

来自分类Dev

无法收到来自Linkedin API公司搜索的响应

来自分类Dev

如何知道我的帖子请求来自PHP服务器中的phonegap / cordova应用程序

来自分类Dev

如何使用授权在服务器上上传图像并在 Android 中显示收到的 json 响应?

Related 相关文章

  1. 1

    如何知道何时收到服务器的响应?

  2. 2

    无法收到来自远程服务器的响应

  3. 3

    没有收到来自服务器的响应:Java.net.SocketException:recvfrom失败:ECONNRESET

  4. 4

    受到来自特定服务器的HTTP响应的困惑

  5. 5

    我如何在Ember.js中看到来自服务器的响应

  6. 6

    多个POST请求后我没有收到来自服务器的数据

  7. 7

    收到来自IMAP服务器的推送电子邮件

  8. 8

    验证客户端是否已收到来自服务器的消息

  9. 9

    TCP 服务器未收到来自 TCP 客户端的消息 (Java)

  10. 10

    java中的XMPP服务器没有收到来自GCM服务器的所有消息

  11. 11

    如何知道(服务器端)何时注册设备?

  12. 12

    UDP连接未收到来自服务器的任何答复-Python(可能还会使用boost的c ++)

  13. 13

    我的Postfix邮件服务器收到来自未知用户的登录尝试(强行尝试)-怎么办?

  14. 14

    TCP 客户端(java)没有收到来自 TCP 服务器的消息(C#)

  15. 15

    在node.js中,如果没有收到来自HTTP请求的响应,您怎么知道?

  16. 16

    在node.js中,如果没有收到来自HTTP请求的响应,您怎么知道?

  17. 17

    无法收到服务器的完整响应

  18. 18

    无法收到服务器的完整响应

  19. 19

    scrapyrt没有收到来自scrapy搜寻器的响应

  20. 20

    TCP套接字服务器如何判断从客户端接收到的数据何时完成?

  21. 21

    ASP.NET服务器如何知道会话何时终止?

  22. 22

    如何让ASP.NET页知道何时可以从服务器下载文件

  23. 23

    ASP.NET服务器如何知道会话何时终止?

  24. 24

    是否有可能知道HTTP响应何时到达服务器中的客户端?(ASP.NET)

  25. 25

    如何在 500 个内部服务器错误 angularjs 之后/何时获得发布响应

  26. 26

    Java套接字未收到来自Print Writer的响应

  27. 27

    无法收到来自Linkedin API公司搜索的响应

  28. 28

    如何知道我的帖子请求来自PHP服务器中的phonegap / cordova应用程序

  29. 29

    如何使用授权在服务器上上传图像并在 Android 中显示收到的 json 响应?

热门标签

归档