android - 为什么 AndroidHttpClient 在 Android 2.1 上工作?

标签 android http android-emulator

我的 Android 应用程序中有一行代码 [它是下载图片的代码的一部分]:

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

根据 the docs , AndroidHttpClient 仅在 API 级别 8 (2.2) 之后可用

然而,当我在 2.1 模拟器上运行它时,该应用程序运行完美,没有任何提示。它甚至可以成功下载图像!

那么为什么会这样呢?这是否意味着我可以依赖它在生产(非模拟器)环境中工作?还是模拟器有什么特别之处?

最佳答案

我认为您可以在使用 OS 2.1 的 Android 设备上的生产构建中使用 AndroidHttpClient。您可以在 Android OS 2.1 源代码中找到此类 here .此外,此类存在于 Android OS 1.6 的源代码中 - proof .更甚的是,该类的源代码在OS 1.6 和OS 2.1 中完全一样。因此,我假设此类在 Android 2.1 中可以安全使用。

但要小心,AndroidHttpClient 的实现是 slightly changed在 OS 2.3.x 中 - 添加了一些新方法,方法的第二个参数

public static AndroidHttpClient newInstance (String userAgent, Context context)

已更改(旧的第二个参数是 SSLClientSessionCache sessionCache)。因此,如果您不使用此方法,一切都应该没问题。

关于android - 为什么 AndroidHttpClient 在 Android 2.1 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8204719/

相关文章:

css - 重写 .htaccess https 除了一个文件夹之外的所有文件夹

java - 在android中使用java邮件api

android-studio - 为什么三星 Galaxy S10 Plus 皮肤在 Android Studio 中看起来很奇怪?

android - 在 Android 模拟器中模拟 NFC 标签

Android:进度对话框微调器不旋转

android - <PreferenceScreen> 中的 "android:key"有什么用?

android - 是否有事件可以检测屏幕何时变暗?

AngularJS - POST请求在第一次请求成功后不发送数据

java - 从 Android 上的 Google 日历获取 Activity

http - 增加 Network.HTTP.Conduit 的请求超时