[英]can not set login logout session from android side when i am fetch data from server
i am work on ODOO base application and store user details to ODOO server but can not do login and logout from server that i have to manage from android side so i have use session management from android side.First i have login to my application login successfully but when second time login but details fetch of first user.how to logout from server side using android. 我正在ODOO基本应用程序上工作并将用户详细信息存储到ODOO服务器,但无法从必须从android端进行管理的服务器登录和注销,因此我已经从android端使用了会话管理。首先我已成功登录到我的应用程序登录名但是当第二次登录但详细获取第一个用户时。如何使用android从服务器端注销。
public class SharedPref {
public SharedPreferences pref;
public SharedPreferences.Editor editor;
public SharedPref(Context context) {
this.pref = context.getSharedPreferences("P1m2h3spellbound", Context.MODE_PRIVATE);
}
public void
save(String key, String value) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
editor.putString(key, value);
editor.commit();
}
public void save(String key, Boolean value) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean(key, value);
editor.commit();
}
public void save(String key, int value) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
editor.putInt(key, value);
editor.commit();
}
public int load(String key, int def) {
// TODO Auto-generated method stub
int i = pref.getInt(key, def);
return i;
}
public String load(String key, String def) {
// TODO Auto-generated method stub
String strSaved = pref.getString(key, def);
return strSaved;
}
public Boolean load(String key, boolean def) {
// TODO Auto-generated method stub
boolean isbool = pref.getBoolean(key, def);
return isbool;
}
public void logoutapp() {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
boolean isZoomGuide = load("isZoomGuide", false);
String ip = load("server_ip", "");
String port = load("server_port", "");
String db = load("server_db", "");
editor.clear();
editor.commit();
save("isZoomGuide", isZoomGuide);
save("server_ip", ip);
save("server_port", port);
save("server_db", db);
save("isServer", true);
}
}
First, if you have an attribute in your class as public SharedPreferences.Editor editor;
首先,如果您的类中有一个属性为
public SharedPreferences.Editor editor;
why are you creating a different Editor
on every save
method? 为什么要在每个
save
方法上创建不同的Editor
? Also in the logoutapp
method you can use your editor. 同样,在
logoutapp
方法中,您可以使用编辑器。
I'm not getting what you are trying to do on this method, let's go step by step 我没有得到您要使用此方法执行的操作,让我们逐步进行
public void logoutapp() {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
boolean isZoomGuide = load("isZoomGuide", false);
String ip = load("server_ip", "");
String port = load("server_port", "");
String db = load("server_db", "");
editor.clear();
editor.commit();
save("isZoomGuide", isZoomGuide);
save("server_ip", ip);
save("server_port", port);
save("server_db", db);
save("isServer", true);
}
First you want to load and store some values stored on SharedPreferences
into a variables. 首先,您要将一些存储在
SharedPreferences
上的值加载并存储到变量中。 Then you clear()
I guess you know will remove all values from the preferences. 然后您
clear()
我想您知道会从首选项中删除所有值。 Once commit is called, the only remaining preferences will be any that you have defined in this editor. 调用commit后,剩下的唯一首选项将是您在此编辑器中定义的首选项。
Then I see a commit()
but I'm not seeing you are storing its result, so you just can use apply()
. 然后,我看到一个
commit()
但是我看不到您正在存储它的结果,因此您只能使用apply()
。 And then you save the values stored previously. 然后保存以前存储的值。
What I don't get is, do you need to remove all data from SharedPreferences
? 我不明白的是,您是否需要从
SharedPreferences
删除所有数据? I don't think so, since you are storing the same values again. 我不这么认为,因为您再次存储了相同的值。 You can use
remove(String key)
to remove a specific item stored in your SharedPreferences
. 您可以使用
remove(String key)
删除存储在SharedPreferences
中的特定项目。
Also I'd like to see how do you Log out from the app and how you Log in to the app to clear my doubts. 另外,我想看看您如何从应用程序注销以及如何登录到应用程序以消除我的疑虑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.