我想知道在保存之前是否有一种简单的方法可以修改插入在共享首选项中的用户数据。
要清楚,我在我的设置(首选项)中插入代码,我想加密该代码(为了更高的安全性),然后将其保存在共享首选项中。当我阅读首选项时,我可以解密该代码,这很简单,但如何在首选项保存之前将其加密?
我有几个想法: 1.制作我自己的偏好并将其保存在文件或数据库中,但我更喜欢使用共享偏好, 2.退出首选项(后退键)时,读取代码插入,加密,然后保存,但很多操作!
我在插入代码时直接寻找更好的解决方案。
如果您有解决方案,感谢您的帮助
答案 0 :(得分:0)
我认为更好的方法是第二种方法。
使用包含editText框的布局创建一个新类(crypted_code)来读取代码,
添加一个公共布尔值onKeyDown(int keyCode,@ NonNull KeyEvent事件)来检测后退键,
然后在加密后保存代码:
code = crypt(code);
SharedPreferences mgr = PreferenceManager.getDefaultSharedPreferences(this);
SharedPreferences.Editor editor = mgr.edit();
editor.putString("code", code);
editor.apply();
finish();