【发布时间】:2015-05-07 20:39:12
【问题描述】:
对于我的项目,我正在调用 API,但您必须经过身份验证。所以我想从第一个请求中保存 cookie,这样我就可以重新使用那个 cookie。只要应用程序处于活动状态,我如何才能保存 cookie。出于安全考虑,我不想将 cookie 保存到内部存储中。有什么想法吗?
【问题讨论】:
-
您可以使用带有静态变量的单例来保存 cookie 数据。
对于我的项目,我正在调用 API,但您必须经过身份验证。所以我想从第一个请求中保存 cookie,这样我就可以重新使用那个 cookie。只要应用程序处于活动状态,我如何才能保存 cookie。出于安全考虑,我不想将 cookie 保存到内部存储中。有什么想法吗?
【问题讨论】:
使用 Shared Preferences 并删除您上次活动的 onBackPressed 中的偏好。
SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
mPreferences.edit().putString("MY_COOKIES", mStringCookies).commit();
在您的最后一个活动覆盖方法中:
onBackPressed() {
SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
mPreferences.edit().remove("MY_COOKIES").commit();
【讨论】:
试试这个。
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt("Cookiename","Value");
editor.apply();
【讨论】:
在收到 cookie 后将其存储在您的 onStop() 或 onStop() 或 Fragment 中。
【讨论】: