Android AWS SDK 版本 2.2.1 - gethttprequest 已删除,无法找到替代品

Android AWS SDK Version 2.2.1 - gethttprequest depricated, not able to find replacement

我一直在使用Android AWS SDK 1.4.6 版本来连接亚马逊网络服务的S3object。我已将我的 SDK 更新到 2.2.1 最后一天,发现 gethttprequest() 方法已被弃用。 此方法目前在 com.amazonaws.services.s3.model.S3ObjectInputStream 包中。但是我也无法在文档中找到该方法的替代方法。

有谁知道,可以使用哪种方法来替代 gethttprequest()? 或者任何有用的链接也可以。

提前致谢。

导致弃用的原因有两个:

  • 公开实现细节,这会阻止我们逐步淘汰 Apache HttpClient。 Android 自 2011 年以来一直建议我们从 Apache HttpClient 迁移到 HttpURLConnection(参见 http://android-developers.blogspot.com/2011/09/androids-http-clients.html). With this in mind, in v2.2.0 release we introduced an abstraction of the Http transportation layer (see com.amazonaws.http.HttpClient), with a default implementation UrlHttpClient powered by HttpURLConnection。在转换期间仍然支持 Apache HttpClient 实现。客户可以使用他们最喜欢的 Http 库(如 Volley 或 OkHttp)来实现它. 在此过程中,我们不得不弃用或删除任何绑定到特定实现的内容,例如 getHttpRequest() 其中 returns HttpRequest,来自 Apache HttpClient 的 class。
  • 没有 getHttpRequest() 的实际用例。它只是为了支持 S3ObjectInputStream.abort() 操作。所有其他用法都不是故意的。在最新版本中未使用 getHttpRequest() 即可完成中止。

来自响应的服务器日期或时间不是 Amazon S3 API 的一部分。它应该是正确的,但我建议你不要依赖它。有很多方法可以获取日期或时间,比如 NPT 时间服务器或从系统中获取。