Intereting Posts
Разница между onScroll () и onFling () GestureDetector Android color picker – обновление цветового массива Как отправить объект JSON через Request с Android? Как решить ошибку сбоя синхронизации Gradle (DefaultMavenFactory)? Как я могу заставить Слушать Игровые Службы автоматически не войти в систему при запуске? Лучший способ кэшировать ответ XML / JSON в мое приложение. Полный текстовый файл? OnShowFileChooser () из веб-сайта android работает только один раз Могу ли я объединить элементы управления? Большие промежутки между элементами RecyclerView при прокрутке вниз Восходящие файлы с использованием сервера облачных соединений Google Cloud Messaging (XMPP) Приложение без значка приложения Не могу понять isFinishing Сделайте анимацию Android более плавной, когда во время анимации отображается клавиатура Как проверить транзакции Android на основе приложения на MY-сервере? Как я могу прокрутить список ListView?

Постоянный куки для Android HttpClient

ОБНОВЛЕНИЕ: Этот вопрос и его ответы больше не должны рекомендовать никому, кто это читает. Android no-longer рекомендует HttpClient (читать: устарел), а вместо этого рекомендует HttpUrlConnection . Хорошим примером использования библиотек сейчас являются Retrofit и OkHttp . В контексте этого вопроса файлы cookie могут быть сохранены, сохранены и доставлены с последующими запросами. Это не обрабатывается прозрачно. С помощью OkHttp вы можете использовать Interceptors .

У меня Android-приложение с несколькими намерениями.

Первое намерение – это форма входа в систему, последующие намерения полагаются на файлы cookie, предоставленные в процессе входа в систему.

Проблема, с которой я сталкиваюсь, заключается в том, что файлы cookie, похоже, не сохраняются по существу. Я создаю новые HttpClients в каждом намерении (сначала я попытался передать Parcelable на каждое намерение, которое не так хорошо работает).

Есть ли у кого-нибудь советы по созданию файлов cookie?

Solutions Collecting From Web of "Постоянный куки для Android HttpClient"

Вы можете сделать то, что предложил @Emmanuel, или вы можете передать BasicHttpContext между создаваемыми вами HttpClients.

Пример Использование контекста и файлов cookie, полный код здесь

HttpClient httpclient = new DefaultHttpClient(); // Create a local instance of cookie store CookieStore cookieStore = new BasicCookieStore(); // Create local HTTP context HttpContext localContext = new BasicHttpContext(); // Bind custom cookie store to the local context localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); HttpGet httpget = new HttpGet("http://www.google.com/", localContext); 

Не создавать новые HttpClients; Это очистит файлы cookie. Повторное использование одного HttpClient.

Сделайте свой httpClient одноэлементным классом.

Определить HttpClient в классе Application и использовать активность.

В приложении

 public class AAA extends Application { public HttpClient httpClient; httpClient = new DefaultHttpClient(); 

В деятельности

 AAA aaa = (AAA)getApplication(); httpClient = app.httpClient;