2012-03-20 65 views
2

我無法從android的sharedpreferences中檢索用戶名和密碼。我用這個代碼來保存的用戶名和傳遞Android共享首選項檢索用戶名和密碼

SharedPreferences prefs=getSharedPreferences("File", 0); 
    SharedPreferences.Editor e= prefs.edit(); 
     e.putString("Email", "[email protected]").putString("Password", "password1"); 
     e.commit(); 
     e.putString("Email", "[email protected]").putString("Password", "password2"); 
     e.commit(); 
     String s=prefs.getString("Email","not found"); 

但我不知道如何檢索用戶登錄信息。誰能幫我找出

+0

簡單的概念,看看它向上。 – JoxTraex 2012-03-20 07:48:50

回答

5

創建共享偏好:從分享偏好

SharedPreferences sp=getSharedPreferences("Login", 0); 
SharedPreferences.Editor Ed=sp.edit(); 
Ed.putString("Unm",Value);    
Ed.putString("Psw",Value); 
Ed.commit(); 

獲得價值:的Java哈希映射的

SharedPreferences sp1=this.getSharedPreferences("Login",null); 

String unm=sp1.getString("Unm", null);  
String pass = sp1.getString("Psw", null); 
+0

是的,我只是想出了id。非常感謝:)這是我尋找的解決方案! – Darko 2012-03-20 07:52:39

+0

好吧,親愛的,如果這對你有用,那麼接受答案..因此它會幫助其他人.. – Hasmukh 2012-03-20 07:53:20

+0

我有一個驅動程序的應用程序和騎手應用程序在同一個包。我試圖從驅動程序的應用程序獲取當前的騎手ID。我按照上面的方法做了,但是riderId被返回爲null?我究竟做錯了什麼? – LizG 2018-02-01 07:34:38

0

你需要給不同的價值觀不同的密鑰,否則第二封電子郵件將清除第一封電子郵件。見共享偏好爲持續性的HashMap:

//keep constants, don't use their values. A constant has more meaning 
    SharedPreferences prefs=getSharedPreferences("File", MODE_PRIVATE); 
    SharedPreferences.Editor e= prefs.edit(); 
    //keys should be constants as well, or derived from a constant prefix in a loop. 
    e.putString("Email1", "[email protected]").putString("Password1", "password1"); 
    e.putString("Email2", "[email protected]").putString("Password2", "password2"); 
    //commit once, not twice 
    e.commit(); 

    //not found should be a constant in a xml resource file 
    String mail1=prefs.getString("Email1","not found"); 
    String mail2=prefs.getString("Email2","not found");