2015-05-13 30 views
4

我一直在使用Android AWS SDK 1.4.6版本来连接Amazon Web服务的S3object。我已经将SDK更新到2.2.1,并发现不推荐使用gethttprequest()方法。 此方法目前位于com.amazonaws.services.s3.model.S3ObjectInputStream 包中。但是,我无法在文档中找到该方法的替代方案。Android AWS开发工具包版本2.2.1 - gethttprequest depricated,无法找到替换

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

在此先感谢。

+0

它已被弃用,因为它没有使用案例,并且正在等待未来版本中的删除。你能告诉我你需要什么吗? – Yangfan

+0

是的,代码使用它来获取亚马逊服务器的日期和时间,并在应用程序联机时使用该组合进行同步服务。 –

+0

我的问题是,如果他们贬低一种方法,应该有一些替代的权利?这是什么情况?或者你说他们已经决定这个方法是无用的,并且在将来的版本中将它删除? –

回答

1

有迹象表明,导致折旧两个原因:

  • 从淘汰的Apache HttpClient的暴露实现细节,哪些块我们。自2011年以来,Android一直建议我们从Apache HttpClient迁移到HttpURLConnection(请参阅http://android-developers.blogspot.com/2011/09/androids-http-clients.html)。考虑到这一点,在v2.2.0 release中,我们介绍了Http传输层的抽象(请参阅com.amazonaws.http.HttpClient),默认实现由HttpURLConnection驱动。转换过程中仍然支持Apache HttpClient实现。客户可以使用他们最喜欢的Http库(如Volley或OkHttp)来实现它。在这个过程中,我们不得不弃用或删除任何绑定到特定实现的东西,比如getHttpRequest(),它返回HttpRequest,这是Apache HttpClient的一个类。
  • getHttpRequest()没有实际使用情况。它只在那里支持S3ObjectInputStream.abort()操作。所有其他用途都不是故意的。中止在最新版本中未使用getHttpRequest()完成。

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

+0

谢谢杨帆。你真的解释得很清楚。正如您所说的,我现在使用AWS SDK中Dateutils的formatRFC822Date方法从服务器获取日期和时间。 再次感谢您。 –

相关问题