How to check if SharedPreferences exists or not

前端 未结 4 1713
独厮守ぢ
独厮守ぢ 2020-12-13 03:54

I\'m checking in this way if the file exists, but I need to go beyond, I need to know if there is one in specific, is there any way?

File f = new File(\"/dat         


        
相关标签:
4条回答
  • 2020-12-13 04:16

    You can try this

     fun checkLoginInfo(): Boolean{
        val saveLogin = sharedPreferences.getBoolean(SAVE_LOGIN, false)
        return saveLogin
    }
    
     Checks whether the preferences contains a preference. 
     @param(SAVE_LOGIN) key The name of the preference to check.
     @param(false) default
     @return Returns true if the preference exists in the preferences, otherwise false.
    
    0 讨论(0)
  • 2020-12-13 04:23

    Well, one could do:

        SharedPreferences sharedPrefs = getSharedPreferences("sp_name", MODE_PRIVATE);
        SharedPreferences.Editor ed;
        if(!sharedPrefs.contains("initialized")){
            ed = sharedPrefs.edit();
    
            //Indicate that the default shared prefs have been set
            ed.putBoolean("initialized", true);
    
            //Set some default shared pref
            ed.putString("myDefString", "wowsaBowsa");
    
            ed.commit();
        }  
    
    0 讨论(0)
  • 2020-12-13 04:26

    Another solution:

    If you know the exact number of preferences you have you can:

    public void isPreferencesSet(Context context){
        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
        return (sharedPreferences.getAll().size() == exactNumberOfPreferences);
    }
    

    This works because the preferences file stored in /data/data/myApp/shared_prefs/myApp_prefrences.xml contains a preference's value pair only if its value has been set.

    0 讨论(0)
  • 2020-12-13 04:29

    SharedPreferences has a contains(String key) method, which can be used to check if an entry with the given key exists.

    http://developer.android.com/reference/android/content/SharedPreferences.html

    0 讨论(0)
提交回复
热议问题