2012-03-20 81 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");