2011-11-20 73 views
3

我有一个行代码在我的Android应用[那就是下载一个图像的代码部分]:为什么AndroidHttpClient在Android 2.1上工作?

final AndroidHttpClient client = AndroidHttpClient.newInstance("Android"); 

the docsAndroidHttpClient只因为API级别可供8(2.2)

然而, ,当我在2.1模拟器上运行此应用程序时,该应用程序完美无缺地工作。它甚至成功下载图像!

那么为什么这样呢?这是否意味着我可以依靠它在生产(非仿真器)环境中工作?或者是有关于模拟器的特别之处?

+1

这可能在以前的版本中可用,只是没有记录。你可以使用它,我猜是因为它现在是正式的,这里没有问题。我猜*这在所有2.1上都是可靠的。设备 - 但我建议至少在一个或两个设备上进行测试。但总的来说,谷歌多次声明“不要使用无证API,它们可能会被删除或可能在没有通知的情况下更改”。 – 2011-11-20 21:11:38

+0

@alextsc是否有某种方式可以查找它是否确实是当时未公开的API? – yydl

+1

从来没有这样说过。我想你可以搜索和下载2.1。源*(这应该是一个发布版本)*并检查它是否存在。见[下载](http://source.android.com/source/downloading.html)。虽然我不完全知道如何获得某个版本,但当我查看内容时,总是使用google codesearch。 :) – 2011-11-20 21:26:22

回答

0

我认为你可以使用AndroidHttpClient生产搭载OS 2.1的Android设备。您可以在Android OS 2.1源代码here中找到此课程。此外,该类存在于Android OS 1.6 - proof的源代码中。更多的是,这个类的源代码在OS 1.6和OS 2.1中完全一样。所以,我认为这个类在Android 2.1中是安全的。

但要小心,落实AndroidHttpClient在OS 2.3.x版本slightly changed - 加入一些新的方法和方法

public static AndroidHttpClient newInstance (String userAgent, Context context) 

的第二个参数被改变(旧第二个参数是SSLClientSessionCache sessionCache)。所以,如果你不使用这种方法,一切都应该没问题。

相关问题