2012-05-22 3 views
0

Искал много.Хранение и восстановление файлов cookie в Android (постоянное хранилище файлов cookie)

У меня есть приложение. Приложения регистрируются на сервере и получают несколько файлов cookie, затем могут выполнять с ними некоторые POST-запросы (например, для получения профиля пользователя). Я хочу хранить их между сеансами (это означает, что я могу перезапустить устройство, запустить приложение и получить профиль без дополнительного входа в систему). Или, другими словами, как создать постоянное хранилище файлов cookie?

Я использую единственный DefaultHttpClient и нет WebView. Но я должен инициализировать этот клиент после создания с помощью некоторых файлов cookie. Я должен хранить его в файле или что? Есть ли способы сделать это на iOS без лишних хаков, хранения в файлах/DB и ручном заполнении CookieManagers?

ответ

4

Теперь я использую класс PersistentCookieStorage для этих целей. Я создаю синглтон при запуске приложения. Он хранит файлы cookie в SharedPreferences.

0

Хранение некоторых данных в CookieManager:

void populateCookieStore(URI uri) 
     throws IOException { 

    CookieManager cm = new CookieManager(null, CookiePolicy.ACCEPT_ALL); 

    CookieHandler.setDefault(cm); 

    Map<String,List<String>> header = new HashMap<>(); 

    List<String> values = new ArrayList<>(); 

    values.add("JSESSIONID=" + SESSION_ID + "; version=1; Path=" 
       + URI_PATH +"; HttpOnly"); 

    values.add("CUSTOMER=WILE_E_COYOTE; version=1; Path=" + URI_PATH); 

    header.put("Set-Cookie", values); 

    cm.put(uri, header); 
} 
Смежные вопросы