How to maintain session in android?

后端 未结 10 1953
轻奢々
轻奢々 2020-11-29 19:35

Can anybody tell me how to maintain session for a user login. For example when the user sign- in to an application they have to be signed in unless the user logouts or unin

相关标签:
10条回答
  • 2020-11-29 20:08
    public class Session {
    
        private SharedPreferences prefs;
    
        public Session(Context cntx) {
            // TODO Auto-generated constructor stub
            prefs = PreferenceManager.getDefaultSharedPreferences(cntx);
            editor = prefs.edit();
        }
    
        public void setusename(String usename) {
            editor.putString("usename", usename).commit();
    
        }
    
        public String getusename() {
            String usename = prefs.getString("usename","");
            return usename;
        }
    }
    
    0 讨论(0)
  • 2020-11-29 20:13

    You can obtain that behaivour in a few different ways, the one I prefer is setting a flag in the shared prefs. whe a user logs in an check it when the app is started if you get the default value the user is not loggend, else you should have your flag (i use the user name) set and avoid the log-in section.

    0 讨论(0)
  • 2020-11-29 20:14

    Make one class for your SharedPreferences

    public class Session {
    
        private SharedPreferences prefs;
    
        public Session(Context cntx) {
            // TODO Auto-generated constructor stub
            prefs = PreferenceManager.getDefaultSharedPreferences(cntx);
        }
    
        public void setusename(String usename) {
            prefs.edit().putString("usename", usename).commit();
        }
    
        public String getusename() {
            String usename = prefs.getString("usename","");
            return usename;
        }
    }
    

    Now after making this class when you want to use it, use like this: make object of this class like

    private Session session;//global variable 
    session = new Session(cntx); //in oncreate 
    //and now we set sharedpreference then use this like
    
    session.setusename("USERNAME");
    

    now whenever you want to get the username then same work is to be done for session object and call this

    session.getusename();
    

    Do same for password

    0 讨论(0)
  • 2020-11-29 20:15

    Using this class will help you to store all types of sessions

    public class Session {
    
        private SharedPreferences prefs;
    
        public Session(Context cntx) {
            // TODO Auto-generated constructor stub
            prefs = PreferenceManager.getDefaultSharedPreferences(cntx);
        }
    
        public void set(String key,String value) {
            prefs.edit().putString(key, value).commit();
        }
    
        public String get(String key) {
            String value = prefs.getString(key,"");
            return value;
        }
    }
    
    0 讨论(0)
提交回复
热议问题