2

How we can check whether the data exists in the SharedPreferences.if exists then start new activity?

4

4 回答 4

5
SharedPreferences prefs = getSharedPreferences("application_settings", 0);
int id = prefs.getInt("id", 0);
if(id > 0) {
  startActivity(new Intent(CurrentCLass.this, NextClass.class));
}  
于 2013-06-27T05:37:00.540 回答
1

每当您检索数据时,您总是需要提供一个默认参数以在数据不存在时返回,例如

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(getContext());
int data = pref.getInt("key",-1);

如果“key”的首选项值不存在,那么data将是。-1

于 2013-06-27T05:41:13.770 回答
1
if (preferences.contains("yourKey")){
    startActivity(new Intent(CurrentActivity.this, NewActivity.class));
}
于 2013-06-27T05:42:04.373 回答
1

一个简单的解决方案。从共享偏好中获取数据。如果未找到数据,则返回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
            }
        }
于 2014-06-07T19:12:49.753 回答