在我的应用程序中,我想保存一些数据,我希望将这些数据保存到SharedPrefernces
对于这个问题,我创建了一个类,并将以下代码写入此类:
public class SharedPrefrencesHandler {
private Context context;
public SharedPrefrencesHandler(Context context) {
this.context = context;
}
public void setToShared(String key, String value) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = preferences.edit();
editor.putString(key, value);
editor.apply();
}
public String getFromShared(String key) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
String value = preferences.getString(key, "");
return value;
}
}
使用以下代码,我检查不是空editTexts
,将此文本保存到preferences
类:
if (!TextUtils.isEmpty(loginEdtTxts.get(0).getText().toString()) &&
!TextUtils.isEmpty(loginEdtTxts.get(1).getText().toString())) {
usernameStr = loginEdtTxts.get(0).getText().toString();
passwordStr = loginEdtTxts.get(1).getText().toString();
prefrencesHandler.setToShared(SharedPrefrencesKeys.USERNAME.name(), usernameStr);
prefrencesHandler.setToShared(SharedPrefrencesKeys.PASSWORD.name(), passwordStr);
我想要 mainActivity ,首先检查此preferences
,如果存在数据(在用户保存之前)显示确定 toast
,则不存在显示错误 toast
。
我怎么能?
答案 0 :(得分:0)
使用preferences.getString(key, null)==null
检查密钥是否存在。
答案 1 :(得分:0)
试试这段代码:
String prefUserName = prefrencesHandler.getFromShared(SharedPrefrencesKeys.USERNAME.name());
String prefPassword = prefrencesHandler.getFromShared(SharedPrefrencesKeys.PASSWORD.name());
if (!TextUtils.isEmpty(prefUserName) && !TextUtils.isEmpty(prefPassword)) {
// Ok code
} else {
// Err code
}
我希望能帮到你