android - Shared Preferences store always the last parameter -


i storing preferences of app in shared prefences.

the problem when try preferences stored same value, in specific, last value store when create "session"

this code when click in button store preferences

//button store preferences if connection ftp succefully         final textview guardarconexionconftp= (textview)findviewbyid(r.id.label_guardar_conexionconftp);         guardarconexionconftp.setonclicklistener(new onclicklistener() {             @override             public void onclick(view v) {                 strictmode.threadpolicy policy = new strictmode.threadpolicy.builder().permitall().build();                 strictmode.setthreadpolicy(policy);                  ftphandler ftp = new ftphandler(configactivity.this);                 textview dirftp= (textview)findviewbyid(r.id.dirftp);                 textview userftp= (textview)findviewbyid(r.id.userftp);                 textview passftp= (textview)findviewbyid(r.id.passftp);                 textview logoutconexionconftp= (textview)findviewbyid(r.id.label_guardar_conexionconftp);                 string[] ftpurl = dirftp.gettext().tostring().split(":"); string ftpuser = userftp.gettext().tostring(); string ftppass = passftp.gettext().tostring();                  if(ftpurl.length < 2) system.out.println("direccion");                 else if(ftpuser.length() == 0) system.out.println("user");                 else if(ftppass.length() == 0) system.out.println("pass");                 else{                 if(ftp.ftpconnect(ftpurl[0], ftpuser, ftppass, integer.parseint(ftpurl[1]))){                     //store preferences                     sessionmanager session2;                     session2 = new sessionmanager(configactivity.this);                     system.out.println(ftpurl[0].tostring() + " " + ftpuser.tostring() + " " + ftppass.tostring() + " " + ftpurl[1].tostring());                     session2.createftploginsession(ftpurl[0].tostring(), ftpuser.tostring(),ftppass.tostring(),ftpurl[1].tostring());                     guardarconexionconftp.setvisibility(view.gone);                     logoutconexionconftp.setvisibility(view.visible);                     findviewbyid(r.id.camposconexion).setvisibility(view.visible);                     editftp.settext("conectado con ftp");                     findviewbyid(r.id.camposftp).setvisibility(view.gone);                     system.out.println("disconnect " + ftp.ftpdisconnect());                     system.out.println("print stored: " + session2.getftpurl() + " " + session2.getftpuser() + " " + session2.getftppass() + " " + session2.getftpport());                     }                     else toast.maketext(configactivity.this, "no ha sido posible conectarse", toast.length_short).show();                 }                 }             }); 

and class store , read sharedpreferences

package com.asde.telemedicina;  import java.util.hashmap;  import android.content.context; import android.content.intent; import android.content.sharedpreferences; import android.content.sharedpreferences.editor; import android.net.wifi.wifiinfo; import android.net.wifi.wifimanager; import android.os.bundle; import android.widget.toast;  public class sessionmanager {     // shared preferences     sharedpreferences pref;      // editor shared preferences     editor editor;      // context     context _context;      // shared pref mode     int private_mode = 0;      // sharedpref file name     private static final string pref_name = "telemedicinapref";      // shared preferences keys     private static final string is_login = "false";      private static final string is_loginftp = "false";      private static final string key_nombre = "name";      private static final string key_registro = "regcode";      private static final string key_colegiado = "colecode";      private static final string key_idioma = "es";      private static final string key_tidioma = "notset";      private static final string key_password = "pass";      private static final string key_piracy = "mathafucka";      private static final string key_urlftp = "";      private static final string key_userftp = "";      private static final string key_passftp = "";      private static final string key_portftp = "";      // email address (make variable public access outside)     public static final string key_update = "notasked";      // constructor     public sessionmanager(context context){         this._context = context;         pref = _context.getsharedpreferences(pref_name, private_mode);         editor = pref.edit();     }        /**      * create login session      * */     public void createloginsession(string n, string r, string col,string l){         // storing login value true         editor.putboolean(is_login, true);          // storing regcode in pref         editor.putstring(key_nombre, n);          // storing regcode in pref         editor.putstring(key_registro, r);          // storing regcode in pref         editor.putstring(key_colegiado, col);          // storing email in pref         editor.putstring(key_idioma, l);          // set piracy system         editor.putstring(key_piracy, getmw());          // commit changes         editor.commit();     }         public void createftploginsession(string url, string user, string password,string port){          system.out.println(url + " " + user + " " + password + " " + port);          // storing login value true         editor.putboolean(is_loginftp, true);          // storing url ftp in pref         editor.putstring(key_urlftp, url);          // storing userftp in pref         editor.putstring(key_userftp, user);          // storing ftp pass in pref         editor.putstring(key_passftp, password);          // storing ftp port in pref         editor.putstring(key_portftp, port);          // commit changes         editor.commit();      }      public string getftpurl(){          return  pref.getstring(key_urlftp, null);     }        public string getftpuser(){         return  pref.getstring(key_userftp, null);     }        public string getftppass(){         return  pref.getstring(key_passftp, null);     }        public string getftpport(){         return  pref.getstring(key_portftp, null);     }        public string getpiracy(){         return  pref.getstring(key_piracy, null);     }         public string getmw(){         wifimanager wifimanager = (wifimanager) _context.getsystemservice(_context.wifi_service);         wifiinfo winfo = wifimanager.getconnectioninfo();         string macaddress = winfo.getmacaddress();          return macaddress;     }       public string getlanguage(){         return  pref.getstring(key_idioma, null);     }          public void settlanguage(string l)     {         editor.putstring(key_tidioma, l);         editor.commit();     }      public string gettlanguage()     {         return pref.getstring(key_tidioma, "null");     }     /**      * check login method wil check user login status      * if false redirect user login page      * else won't      * */     public void checklogin(){         // check login status         if(!this.isloggedin()){              // user not logged in redirect him login activity             intent = new intent(_context, loginactivity.class);             // closing activities             i.addflags(intent.flag_activity_clear_top);              // add new flag start new activity             i.setflags(intent.flag_activity_new_task);              // staring login activity             _context.startactivity(i);         }      }      public void checkftplogin(){         // check login status         if(!this.isloggedinftp()){  //          // user not logged in redirect him login activity //          intent = new intent(_context, loginactivity.class); //          // closing activities //          i.addflags(intent.flag_activity_clear_top); // //          // add new flag start new activity //          i.setflags(intent.flag_activity_new_task); // //          // staring login activity //          _context.startactivity(i);         }      }        /**      * stored session data      * */     public hashmap<string, string> getuserdetails(){         hashmap<string, string> user = new hashmap<string, string>();         // user name         user.put(key_registro, pref.getstring(key_registro, null));          // user email id         user.put(key_nombre, pref.getstring(key_nombre, null));          // return user         return user;     }      /**      * clear session details      * */       public void logoutftpuser(){         // storing login value true                 editor.putboolean(is_loginftp, false);                  // storing url ftp in pref                 editor.putstring(key_urlftp, "");                  // storing userftp in pref                 editor.putstring(key_userftp, "");                  // storing ftp pass in pref                 editor.putstring(key_passftp, "");                  // storing ftp port in pref                 editor.putint(key_portftp, 0);                  // commit changes                 editor.commit();  }      /**      * quick check login      * **/     // login state     public boolean isloggedin(){         return pref.getboolean(is_login, false);     }      // login state     public boolean isloggedinftp(){         return pref.getboolean(is_loginftp, false);     } } 

always store in keys last prefence try store, ex: if last parameter port in key_portftp, when try print of other keys print key_portftp value.

must silly not able see can me?

 public void logoutftpuser(){         // storing login value true                 editor.putboolean(is_loginftp, false);                  // storing url ftp in pref                 editor.putstring(key_urlftp, "");                  // storing userftp in pref                 editor.putstring(key_userftp, "");                  // storing ftp pass in pref                 editor.putstring(key_passftp, "");                  // storing ftp port in pref                 editor.putint(key_portftp, 0);                  // commit changes                 editor.commit();  }   instead of can use follow          public void logoutftpuser(){             // storing login value true                 editor.putboolean(is_loginftp, false);                  editor.commit();                  // storing url ftp in pref                 editor.putstring(key_urlftp, "");                  editor.commit();                  // storing userftp in pref                 editor.putstring(key_userftp, "");                  editor.commit();                  // storing ftp pass in pref                 editor.putstring(key_passftp, "");                  editor.commit();                  // storing ftp port in pref                 editor.putint(key_portftp, 0);                  // commit changes                 editor.commit();  }     , can items. once assign value 1 key. should commit editor. then,only can value 

Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -