使用首选项保存用户名和密码

3

我在使用首选项保存登录数据的应用程序中遇到了麻烦。我已经在第一次保存了用户名和密码,但下一次我不知道如何自动填充/自动完成密码,填写完用户名后。有人可以帮帮我吗?非常感谢。

1个回答

7

尝试这段代码,它会帮助你 :)

// Get SharedPreferences

 SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

// set UI

  EditText username = (EditText) findViewById(R.id.username);
  EditText password = (EditText) findViewById(R.id.username);

// get value from existing preference


 strusername = sharedPreferences.getString("username", "");
 strpassword = sharedPreferences.getString("password", "");

// set existing value
username.setText(strusername);
password.setText(strpassword);

findViewById(R.id.login).setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
            // put value in preference on button click
            Editor editor = sharedPreferences.edit();
            editor.putString("username", username.getText().toString());
            editor.putString("password", password.getText().toString());
            editor.commit();
        }
    });

谢谢您的代码。但它并不是我想要的。根据您的代码,编辑器只在第一次保存。当我使用此代码登录其他帐户并再次使用第一次登录的帐户时,我将不得不填写所有用户名和密码。我的需求是,当它们以前已保存时,我只需要填写用户名和密码字段,就会自动填充/自动完成。你知道我的意思。尽管我很抱歉在我的主题中没有写清楚意思。 - Lộc Nguyễn
好的,但我很抱歉地告诉你,在SharedPreferences中不可能实现这一点,因为sharedprefrence只处理一个键值,每次都会覆盖它。你需要使用数据库。 - Kishan Soni
例如,参考此链接以获取您的解决方案:https://www.codeofaninja.com/2013/11/android-autocompletetextview-example-sqlite-database.html - Kishan Soni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接