Обработать значение предпочтения перед сохранением в Android?

Мне нужно зашифровать свой пароль, прежде чем сохранять его в локальной базе данных Android. Все нормально работает без шифрования, у меня есть preferences.xml и тд. Как я могу вызвать функцию после Я изменил значение предпочтения (например, пароль) ? Вот мой код:

public class Preferences extends PreferenceActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.preferences);

            // Get the custom preference
            Preference customPref = (Preference) findPreference("pass");

            customPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener(){
                @Override
                public boolean onPreferenceChange(Preference preference, Object newValue) {
                String crypto = SimpleCrypto.encrypt("MYSECRETKEY", newValue.toString()); // encrypt
                // Here is where I'm wrong, I guess.
                SharedPreferences settings = getSharedPreferences("preferences", MODE_PRIVATE);
                SharedPreferences.Editor editor = settings.edit();
                editor.putString("pass", crypto);
                editor.commit();
            });
    }
}

PS: Вот так, когда я меняю пароль, он сохраняет пароль без шифрования.

8
задан EvanBlack 2 May 2011 в 15:04
поделиться