Android 在应用程序中保存登录用户详细信息

标签 android web-services android-logcat

我是一名 Web 开发人员,刚接触 Android 并正在学习...第一步,我使用 PHP-MySQL Web 服务制作了一个用户登录系统。

应用程序与 Web 服务通信良好并检查用户是否存在。现在,如果用户存在,它将返回用户详细信息(如果用户存在)。

我的问题就像在Web应用程序中Android应用程序中是否有任何 session /cookie处理?例如,如果我可以保存 session ,则不需要每次都登录。

我确信有一种方法可以做到这一点,因为很多应用程序都可以使用此功能。但由于我是 Android 新手,请多多指教。

不知道谷歌搜索的正确单词。是“SavePreferences”吗?

提前致谢

最佳答案

我认为您正在寻找的是 SharedPreferences 。这会将数据持久存储在(键,值)对中,因此您可以说在登录屏幕上有一个复选框,因此如果他们选中它,那么它将存储一个 bool 值作为 并将他们的用户名作为。然后,当他们进入登录屏幕并选择用户名时,它会检查该值,如果它是true,则不需要密码。这是假设您允许多个用户从应用程序登录。

但是,如果只有一个人从应用程序登录到该设备,那么您可以在他们打开应用程序时从网络服务器发回一个值,让他们可以跳过登录屏幕。

除了我上面提供的文档的链接之外,Here is a good example in the docs to get you started

如果您需要比 SharedPreferences 提供的功能更强大的功能,请查看 Storage Options文档的部分。希望这有帮助

检索首选项

SharedPreferences prefs = this.getSharedPreferences("john smith", 0);
    saved= (prefs.getString("loginSaved", false));  
if (saved)
  // do stuff here
else
  // require login

关于Android 在应用程序中保存登录用户详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381147/

相关文章:

Android ndk找不到atof函数

java - 无法在 Tomcat 7 上部署 Restful 简单代码。错误 java.lang.ClassNotFoundException : com. sun.jersey.spi.container.servlet.ServletContainer

android - 日志写入过多会降低 Android 应用程序性能吗?

android - 单击按钮是否可以获取 logcat 的最后几行?

java - 从警报管理器启动服务(无空构造函数)

java - 按分隔符数量拆分字符串

Android - loopj 异步任务取消

java - 无法通过 Firebase 接收消息 - Android

android - Android直接将视频上传到YouTube

c# - 使用 POST 而不是通常的 WSDL 路由来使用 Web 服务