android:如何在手机缓存中保存用户名和密码

时间:2014-05-13 10:25:29

标签: android

我有一个用户登录应用程序,它从用户那里获取电子邮件和密码。我想将电子邮件和密码保存在手机缓存中,这样用户就不必再次输入。有没有办法在android缓存中保存数据。提前谢谢。

5 个答案:

答案 0 :(得分:4)

我认为您需要使用SharedPreference来保存您的设备中的应用程序时的数据。从设备卸载应用程序后,数据将被删除。

1)将数据保存到SharedPreference

SharedPreferences prefs = getSharedPreferences("UserData", MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("username", username);
editor.putString("password", password);
editor.commit();

2)从SharedPreference检索数据:

SharedPreference prefs = getSharedPreferences("UserData", MODE_PRIVATE);
String username = prefs.getString("username","");
String pwd = prefs.getString("password","");

答案 1 :(得分:2)

您可以使用SharedPreferences来实现..

SharedPreferences wmbPreference1,wmbPreference2;    
SharedPreferences.Editor editor;

//wmbPreference for Shared Prefs that lasts forever
wmbPreference1 = PreferenceManager.getDefaultSharedPreferences(this);  

//installsp for Shared Prefs that lasts only just once each time program is running
wmbPreference2 =getApplicationContext().getSharedPreferences("install_code_prefs",Activity.MODE_PRIVATE);

保存值

SharedPreferences.Editor editor = wmbPreference1.edit();
editor.putString("MYKEY", "12345");
editor.commit();

您可以检索

之类的值
String Phonenumber = wmbPreference1.getString("MYKEY", ""); 

其中 MYKEY 是您可以识别该值的键名..

答案 2 :(得分:1)

此类型的SharedPreferences 比使用应用程序缓存更简单。

有关SharedPreferences阅读文档的更多信息,您可以拥有与活动或活动相关的SharedPreferences(它会在保存的位置发生变化。)

要访问默认的共享首选项,您将使用名为PreferenceManager的{​​{1}}静态方法,该方法将上下文作为参数(如果您在活动中,则为getDefaultSharedPreferece

this

现在使用此SharedPreferences实例,您可以读取保存在此文件中的所有内容。

要阅读,您将使用方法sharedPreferences.get(String / Int / Long / Float等)。

读取用户的电子邮件和密码的示例,您可以写

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
  

("密码",null)

  1. "密码":将成为密钥,实际上共享首选项保存为SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); String email = sharedPreferences.getString("email", null); String password = sharedPreferences.getString("password", null"); 对,因此您在阅读时和写入时应使用相同的密钥以确保更新/读取相同的值。
  2. null:它是defaultValue,如果Android未能在文件中找到密钥,则变量key=value将为password
  3. 现在,如果您执行此代码,则电子邮件和密码将为null,因为您没有添加任何内容。

    要在文件中添加内容,您应该使用null,其中包含编辑键值对的所有方法。要创建此对象,您将在我们的sharedPreference变量中调用方法SharedPreferences.Editor

    edit()

    现在我们将使用我们的SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = sharedPreferences.edit(); 变量来保存我们的数据。

    与read一样,它有像put(String / Int / Long)这样的方法(与put一样只读)

    因此我们要保存用户的电子邮件和密码,因为我们将使用字符串editor

    putString

    它类似于我们上面所看到的,但有所不同:虽然editor.putString("password", "helloWorld"); 仍然是使用的关键(注意:它与读取线的相同),第二个参数是,因为名称表示我们应该写为密码。在这种情况下,它会将password保存为密码。

    对于电子邮件,将helloWorld替换为包含密码的变量。

    请记住,当您准备好在文件中保存值时,应该调用helloWorld(编辑)。 (如果你不这样做,你就不会更新文件中的值。)

    您的代码如下所示:

    .commit()

    现在,当您再次执行阅读代码时,您将在电子邮件SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("email", "helloWorld@gmail.com"); editor.putString("password", "helloWorld"); editor.commit(); 和密码helloWorld@gmail.com中阅读。

答案 3 :(得分:0)

使用SharedPreferences。像this

这样的东西

答案 4 :(得分:0)

1.在您的班级中声明这些变量/常量

private SharedPreferences prefs = null;
public static final String MY_PREFERENCE = "my_preference";// preference name
public static final String USER_NAME = "username"; // key for username
public static final String PASSWORD = "passoword";//key for password

2.现在用方法保存用户和密码

prefs = getSharedPreferences(MY_PREFERENCE, 0);
SharedPreferences.Editor editor = prefs.edit();
        editor.putString(USER_NAME, username);
        editor.putString(PASSWORD, password);
        editor.commit();

用户名,密码是您从用户输入获得的字符串。