AndroidHttpClient是对HttpClient的包装,内部带访问连接器,并设置为可以多线程使用,所以一个应用只要有一个AndroidHttpClient实例就可以了。
下面是将这个实例放到自定义Application里的实现代码,供参考。
public class MyApplication extends Application{
private AndroidHttpClient httpClient;
private AndroidHttpClient createHttpClient() {
AndroidHttpClient httpClient = AndroidHttpClient.newInstance("myagent)");
return httpClient;
}
public void onCreate()
{
super.onCreate();
httpClient = createHttpClient();
}
public AndroidHttpClient getHttpClient() {
if (httpClient == null)
httpClient = createHttpClient();
return httpClient;
}
@Override
public void onLowMemory() {
super.onLowMemory();
shutdownHttpClient();
}
@Override
public void onTerminate() {
super.onTerminate();
shutdownHttpClient();
}
private void shutdownHttpClient() {
if (httpClient != null) {
if (httpClient.getConnectionManager() != null) {
httpClient.getConnectionManager().shutdown();
}
httpClient.close();
httpClient = null;
}
}
}
在使用时,代码如下
AndroidHttpClient httpClient = ((MyApplication)getApplication()).getHttpClient();