java - 保存 Activity 的实例状态以保持用户登录?

标签 java android session

我正在开发一个Android应用程序,它有一个登录表单,并且应该保持用户登录。基本上我要做的就是向API发出请求并发送用户电子邮件和密码,该请求返回一个JSONObject,其中我管理得很好。

我有一个 cookieStore 实例,并通过 SharedPreferences 实例将它们保存到用户首选项中,因此每次我需要当前用户凭据时,我只需从优先。

事情是,如果我关闭手机上的应用程序(我认为这意味着“暂停”它,对吧?)我会丢失所有数据,这实际上是有意义的,因为我从不保存实例状态我的 Activity 。

我的问题是:

我需要将什么保存到 Activity 的实例状态中才能保持用户登录?我可以保存偏好设置吗?我该怎么做?而且,这是否应该在每个 Activity 的 onResume() 方法上完成?

希望有人能帮助我,我刚刚开始使用 Android 进行开发。 :)

提前致谢。

最佳答案

当您关闭/销毁应用程序时,保存在 SharedPreferences 中的数据不会丢失。只需在 SharedPreferences 中检查登录详细信息 OnResume 即可。当用户注销时,不要忘记将其从 SharedPreferences 中删除。

您还可以在 SharedPreferences 中保存登录日期时间,并在 OnResume 上检查它以查看用户是否超时。

关于java - 保存 Activity 的实例状态以保持用户登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25311043/

相关文章:

Java 解析 XML 行的简单方法

java - 将 java.lang.String 类型映射到 Postgres JSON 类型

java - 无法从网页读取手机号码

android - 实时/零延迟视频流 : what codec parameters to use?

PHP session 过期

java - 防止 Jetty 中 session 的最后访问时间更新

java - 使用 JPA Hibernate 自动保存子对象

android - 在 PlayStore 上发布后,Google 登录服务无法正常工作

java - 从 viewpager 中的 fragment 获取 edittext 值

javascript - PHP mysql 先前声明的函数问题