[英]how to check the SharedPreferences string is empty or null *android
我想检查 SharedPreferences 中的一个字符串,用它来存储用户名和密码,所以如果用户名和密码不是 null 或为空,它将被定向到主页,否则如果用户名和密码为空,它将被定向到登录页面。
这是我检查 SharedPreferences 字符串的代码,但它不起作用..
if(PreferenceConnector.USERNAME!=null){
Intent intent = new Intent(MainActivity.this,MainHome_Activity.class);
startActivity(intent);
} else {
Intent intent = new Intent(MainActivity.this,LoginFormPegawai_Activity.class);
startActivity(intent);
}
我尝试使用此代码通过 toast 检查它,在尝试此操作后,我得到 SharedPreferences 字符串不是 null 或空..
btn_logout_pegawai.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//remove the SharedPreferences string
PreferenceConnector.getEditor(this).remove(PreferenceConnector.USERNAME)
.commit();
PreferenceConnector.getEditor(this).remove(PreferenceConnector.PASSWORD)
.commit();
//checking the SharedPreferences string
if(PreferenceConnector.USERNAME!=null){
Toast.makeText(MainHome_Activity.this,"not null", Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(MainHome_Activity.this,"null", Toast.LENGTH_SHORT).show();
}
}
});
如何正确检查 SharedPreferences 字符串是空的还是 null?
谢谢..
做这个:
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
String username = myPrefs.getString("USERNAME",null);
String password = myPrefs.getString("PASSWORD",null);
如果存在用户名和密码,则它们将具有值,否则它们将为空。
if (username != null && password != null )
{
//username and password are present, do your stuff
}
您不必单独检查他们的存在。 尝试检索其值将自动返回null(如果不存在)或值(如果存在)。
public static final String DEFAULT_VALUE = "default";
public static final String ANY_FIELD = "any_field";
SharedPreferences prefs = context.getPreferences(Activity.MODE_PRIVATE);
String text = prefs.getString(ANY_FIELD, DEFAULT_VALUE);
if (text.equals(DEFAULT_VALUE)) {
//TODO:
} else {
//TODO:
}
祝好运!
试试这个
if(PreferenceConnector.getString("USERNAME")!=null){
Intent intent = new
Intent(MainActivity.this,MainHome_Activity.class);
startActivity(intent);
}
else
{
Intent intent = new Intent(MainActivity.this,LoginFormPegawai_Activity.class);
startActivity(intent);
}
在我的情况下,我需要检查默认值,所以我确实喜欢这个
var userNo = controller.prefs!.getInt('userNo') ?? 0;
if (userNo > 0) {
//do some task
}
它对我来说很好用
if(appSettings.contains(Constants.WEATHER_SUBN_POSTION)) {
savedSubPostion = appSettings.getInt(Constants.WEATHER_SUBN_POSTION, 0);
}
首先检查它是否包含值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.