我正在开发一个具有登录形式的Android应用程序,并且应该维护用户登录。基本上我要做的是向API发出请求并发送用户电子邮件和密码,该请求返回一个JSONObject,我管理得很好。
我有一个 cookieStore 实例,并通过 SharedPreferences 的实例将它们保存到用户首选项中,因此每次我需要当前用户凭据时,我只是从喜好。
事情是,如果我在手机上关闭应用程序(我认为这意味着“暂停”它,对吧?)我丢失了所有真正有意义的数据,因为我永远不会保存实例状态我的活动。
我的问题是:
为了维护用户登录,我需要保存到活动的实例状态?我可以保存偏好吗?我该怎么做?还有,假设要在每个活动的onResume()方法上完成吗?
希望有人可以帮助我,我刚刚开始在Android中开发。 :)
提前致谢。
答案 0 :(得分:1)
保存在SharedPreferences中的数据在您关闭/销毁应用时不会丢失。只需检查SharedPreferences中的登录详细信息OnResume。当用户注销时,不要忘记从SharedPreferences中删除它。
您还可以在SharedPreferences中保存登录的日期时间,并检查OnResume以查看用户是否超时。
答案 1 :(得分:0)
如果您使用的是 SharedPreferences ,并且您不希望/需要保存活动的当前状态,则只需从onResume()方法中获取SharedPreferences(如果有)的值。 / p>
如果您不想保留活动状态,则必须使用 onSaveInstanceState(Bundle outState)
方法将数据保存在Bundle和 onCreate(Bundle savedInstanceState)
中从Bundle获取数据并填充View。