Almacenamiento y restauración de cookies en Android (almacenamiento persistente de cookies)

Busqué mucho.

tengo una aplicación La aplicación inicia sesión en el servidor y recibe algunas cookies, luego puede ejecutar algunas solicitudes POST con ellas (por ejemplo, para obtener el perfil de usuario). Quiero almacenarlos entre sesiones (significa que puedo reiniciar un dispositivo, ejecutar una aplicación y obtener un perfil sin iniciar sesión adicional). O, en otras palabras, ¿cómo crear un almacenamiento persistente de cookies?

Estoy usando el único DefaultHttpClient y no hay WebViews. Pero debería inicializar este cliente después de la creación con algunas cookies. ¿Debería almacenarlo en un archivo o qué? ¿Hay formas de hacerlo en iOS sin trucos extraños, almacenamiento en archivos/bases de datos y CookieManagers de llenado manual?

preguntado el 22 de mayo de 12 a las 15:05

3 Respuestas

Ahora estoy usando un Almacenamiento de cookies persistentes clase para esos fines. Creo un singleton cuando se inicia la aplicación. Almacena cookies en SharedPreferences.

Respondido el 04 de junio de 12 a las 18:06

Una implementación de java.net.CookieStore para proporcionar cookies persistentes.

Use https://gist.github.com/manishk3008/2a2373c6c155a5df6326

Respondido el 13 de Septiembre de 14 a las 21:09

Almacenar algunos datos en administrador de cookies:

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);
}

Respondido 05 Abr '17, 11:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.