如何在Android中维护会话。例如,在我的应用程序中,用户可以使用普通登录或Facebook登录登录。使用该应用程序后,用户可以通过注销会话来关闭应用程序,或者用户只需关闭应用程序而无需注销。这样用户可以在没有登录的情况下进入主屏幕进行下一次。
当我的应用程序关闭而没有注销会话并在两天后打开时,用户会话丢失并且我的应用程序崩溃了。当它正确注销然后打开,应用程序工作正常。如何在没有注销的情况下关闭会话?
答案 0 :(得分:0)
首先,您可以使用共享首选项来存储用户信息,以便下次不会要求登录。以及下一个处理会话的问题。因此,在您的服务器端,您将在特定时间段后销毁会话。你可以做什么使用时间戳。在我的情况下,我这样使用它:我的服务器自动3小时后销毁会话。因此,当用户登录我的应用程序时,我会为此保存时间戳。下次我检查时间戳是否已过期。如果它已过期,则首先代表用户呼叫后台登录。这样服务器就会为用户创建新的会话。
答案 1 :(得分:0)
您可以在SharedPreferences
中进行维护。请查看this以供参考。
例如,要保存用户名,密码和会话ID,您可以:
SharedPreferences pref = context.getSharedPreferences("Session Data", MODE_PRIVATE);
SharedPreferences.Editor edit = pref.edit();
edit.putString("User Name", username);
edit.putString("Password", password);
edit.putInt("Session ID", session_id);
edit.commit();
并获取它们
SharedPreferences pref = context.getSharedPreferences("Session Data", MODE_PRIVATE);
username = pref.getString("User Name", "");
password = pref.getString("Password", "");
session_id = pref.getInt("Session ID", 0);