Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android-CookieHandler-关闭应用程序后如何保存cookie?_Java_Android_Session Cookies_Cookiestore_Android Cookiemanager - Fatal编程技术网

Java android-CookieHandler-关闭应用程序后如何保存cookie?

Java android-CookieHandler-关闭应用程序后如何保存cookie?,java,android,session-cookies,cookiestore,android-cookiemanager,Java,Android,Session Cookies,Cookiestore,Android Cookiemanager,要在HttpURLConnection中的每个请求后保留Cookie,应在应用程序启动时添加CookieHandler: CookieManager cookieManager = new CookieManager(); CookieHandler.setDefault(cookieManager); 但在应用程序关闭和再次打开时,cookies是空的。。。 那么如何在结束后保存cookies呢 例如将它们保存在SharedReferences或文件中,并在打开后将其取回 我试着让他们使用C

要在HttpURLConnection中的每个请求后保留Cookie,应在应用程序启动时添加CookieHandler:

CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);
但在应用程序关闭和再次打开时,cookies是空的。。。 那么如何在结束后保存cookies呢

例如将它们保存在SharedReferences或文件中,并在打开后将其取回

我试着让他们使用CookieStore,但没用:

保存:

负载:


谢谢..

默认的
CookieStore
不会将任何内容持久化到磁盘,您需要实现一个这样的功能。下面是将Cookies直接保存到SharedReference的方法。

是的,
SharedReference有什么问题?它们完全符合您的要求,但如何将cookies转换为字符串和字符串?但这没关系,我已经得到了答案。。。
Settings.Save(c, TAG, cookieManager.getCookieStore().getCookies().toString());
String load = Settings.Load(c, TAG);
if (load != null) {
    for (HttpCookie hc : HttpCookie.parse(load)) {
        cookieManager.getCookieStore().add(new URI(Data.domain), hc);
    }
}