Bu gibi durumlarda defaulthttpclient i new lememeliyiz.
Defaulthttpclient i her zaman saklamalıyız ve ona olan referansı kaybetmemeliyiz. Bu duruma sağlayabilmek için aşağıdaki bloka sahip bir sınıf kullanabiliriz.
private CookieStore androidCookie= null;
private Object androidLock = new Object();
/**
*Bu method mevcut cookiestore yi kullanarak yeni bir httpclient yaratır.
*Bu şekilde mevcut session ı da almış oluruz.
* @author Murat GUZEL
*/
private HttpClient getHttpClient() {
final DefaultHttpClient httpClient = new DefaultHttpClient();
synchronized (androidLock) {
if (androidCookie== null) {
androidCookie= httpClient.getCookieStore();
} else {
httpClient.setCookieStore(androidCookie);
}
}
return httpClient;
}
Bu sınıfı uygulamanın heryerinde kullanabilirsiniz.
Hiç yorum yok:
Yorum Gönder