0

HTTPGET リクエストを実行する別のアクティビティで、リストに格納された Cookie を使用したい (グローバルにするか永続化する)

Cookie を保存する私のコードは次のとおりです。

  HttpResponse sessionresp = httpclient.execute(httppost);
  List<Cookie> cookielist=httpclient.getCookieStore().getCookies();
   for (int i = 0; i < cookielist.size(); i++) {
                        Cookie cookie1 = cookielist.get(i);
                        Log.i("Cookie Store","Local cookie: " + cookie1);
                        //Cookie mSessionCookie = cookie1;
                        Log.i("Cookie Store",""+cookie1.getValue());
                        cookieStore.addCookie(cookie1);                 
                    httpclient2.setCookieStore(cookieStore);    

}

HTTP GET 操作を行う別のアクティビティでこれらの Cookie を使用したいと考えています。入力はありますか?

4

1 に答える 1

1

Singletonを使用してみてください。問題は、クラスを作成すると、このクラスのオブジェクトは 1 つしか存在できないということです。そして、呼び出すだけでどこからでもこのオブジェクトを取得できますCookieStore.getInstance()(これが私がこのクラスを呼び出した方法です)

次のようになります。

class CookieStore {

         private CookieStore(){}

         private static CookieStore instance;

         private List<Cookie> cookies;

         public static CookieStore getInstance() {
              if (instance == null) {
                   instance = new CookieStore();
              }
              return instance;
         }

         public List<Cookie> getCookies()...

         public void setCookies(final List<Cookie> cookies)...

}
于 2013-10-01T15:39:38.937 に答える