gpt4 book ai didi

java - 在 Android 中从 HTTP 检索 XML/流的最佳实践

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:20:43 24 4
gpt4 key购买 nike

在 Android 中从 HTTP 资源解析 XML 的最佳实践是什么?我一直在使用 HttpURLConnection 来检索 InputStream,用 BufferedInputStream 包装它,然后使用 SAX 来解析缓冲流。在大多数情况下它是有效的,尽管我确实收到了 SocketTimeoutException 的错误报告:操作超时或一般解析错误。我相信这是由于 InputStream。

  1. 使用 HttpClient 代替 HttpURLConnection 会有帮助吗?如果是,为什么?
  2. 是否应该将流输出到文件,而不是流来解析文件?

任何输入或方向将不胜感激。感谢您的宝贵时间。

最佳答案

我最近做了这个,所以我没有太多的经验,但我使用了 HTTPCLient。 HTTPClient 比原始 URLConnections 做得更好,在这种情况下最重要的是,如果它无法连接到服务器,它会重试三次。如果您只是与数据包丢失有糟糕的联系,这会有所帮助。

我还使用 SAX 解析 InputStream,但我将 InputStream 包装在 BufferedReader 中(使用中间 InputStreamReader)。我不知道 SAX 是否在内部执行此操作,但根据我的经验,BufferedStreams 比非缓冲流工作得更好。使用常规 InputStream 时,您正在为每个字节发出读取请求,如果您的连接不佳,这只会增加网络问题的可能性。 Buffered Streams 将在每次读取时读取缓冲区字节数(我想我将我的设置为 1024,但您可以尝试不同的值以查看最适合您的值)。

希望对您有所帮助。

关于java - 在 Android 中从 HTTP 检索 XML/流的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2767442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com