我们如何检查SharedPreferences.if中是否存在数据,然后启动新活动?
答案 0 :(得分:5)
SharedPreferences prefs = getSharedPreferences("application_settings", 0);
int id = prefs.getInt("id", 0);
if(id > 0) {
startActivity(new Intent(CurrentCLass.this, NextClass.class));
}
答案 1 :(得分:1)
每当您检索数据时,如果数据不存在,您总是需要提供一个默认参数来返回,例如
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getContext());
int data = pref.getInt("key",-1);
如果“key”的偏好值不存在,则data
将为-1
。
答案 2 :(得分:1)
if (preferences.contains("yourKey")){
startActivity(new Intent(CurrentActivity.this, NewActivity.class));
}
答案 3 :(得分:1)
一个简单的解决方案。从共享首选项中获取数据。如果找不到数据则返回null
因此检查字符串变量是否为null或任何其他值。
File f = new File("/data/data/" + getPackageName() + "/shared_prefs/mypref.xml");
if(f.exists())
{
String user=mypref.getString("UserName", null);
if(user!=null){
//do stuff`enter code here
}
}