就像我在标题中所说的,方法onSharedPreferenceChanged()
被称为倍数倍,这在我的案例中是个问题。在这种方法中,我加密密码,“加密”也被称为倍数,因此我的应用程序崩溃了,我有一个2Mo的sharedPreferences文件。
这是我的代码:
public class ParametreActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.parametres);
PreferenceManager
.getDefaultSharedPreferences(this)
.registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
String mdp;
if(key.equals("mdp")) {
mdp = sharedPreferences.getString(key, null);
if(mdp != null) {
try {
sharedPreferences.edit().putString(key, SimpleCrypto.encrypt(mdp)).apply();
} catch (Exception e) {}
}
}
}
}
答案 0 :(得分:0)
我只是使用布尔值,不要再次调用提交