Skip to content Skip to sidebar Skip to footer

Android Sharedpreferences Get Null When App Or Phone Restart

I have a sharedpreferences which save and retrieve data correct. but problem is this when phone restart it give null value. here is code which I have try if(encodedImage_profile3!=

Solution 1:

Rather than hard-coding shared preference logic , create a Utility class like following and access it throughout your project. Separate methods are available for different data types

/**
 * Shared preference class to handle app's local content
 */publicclassSharedPreferenceHandler {

    //Class variablesprivateSharedPreferences sharedPrefSettings;
    privateSharedPreferences.Editor editor;
    privatestaticSharedPreferenceHandler m_cPrefObj=null;

    privateSharedPreferenceHandler(Context context){
        sharedPrefSettings = context.getSharedPreferences(SharedPreferenceConstants.SHARED_PREF_KEY, Context.MODE_PRIVATE);
        editor=sharedPrefSettings.edit();
    }

    publicstaticSharedPreferenceHandlergetSharedPrefInstance(Context context){
        if(m_cPrefObj==null){
            m_cPrefObj=newSharedPreferenceHandler(context);
        }
        return m_cPrefObj;
    }
    /**
        returns string value for shared preference key
     */publicStringgetSharedPrefValue(String key){
        return sharedPrefSettings.getString(key,null);
    }

    /**
        returns boolean shared preference value for key
     */publicbooleangetSharedPrefValueBool(String key){
        return sharedPrefSettings.getBoolean(key, false);
    }
    /**
        sets string shared preference value for key
     */publicvoidsetSharedPrefBool(String key,boolean value){
        editor.putBoolean(key,value);
        editor.commit();
    }
    /**
        sets string shared preference value for key
     */publicvoidsetSharedPref(String key,String value){
        editor.putString(key, value);
        editor.commit();
    }

    /**
     *
     * @paramkey
     * @return
     */public long getSharedPrefValueLong(String key){
        return sharedPrefSettings.getLong(key,0);
    }

    /**
     *
     * @paramkey
     * @paramvalue
     */publicvoidsetSharedPrefLong(String key,long value){
        editor.putLong(key,value);
        editor.commit();
    }

    /**
     *
     * @paramkey
     * @return
     */public int getSharedPrefValueInt(String key){
        return sharedPrefSettings.getInt(key,0);
    }

    /**
     *
     * @paramkey
     * @paramvalue
     */publicvoidsetSharedPrefInt(String key,int value){
        editor.putInt(key,value);
        editor.commit();
    }
}

Inorder to access this logic in required classes,

privateSharedPreferenceHandler mSharedPreferenceHandler;

@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        initiateDependencies();

    }
    /**
     * Should initiate classes and objects which will be referred throughout app
     */privatevoidinitiateDependencies(){

        mSharedPreferenceHandler =SharedPreferenceHandler.getSharedPrefInstance(this);

    }

To set shared preference value do the following

mSharedPreferenceHandler.setSharedPref("PREF_KEY_REFRESH_INTERVAL", "abc");
mSharedPreferenceHandler.setSharedPrefBool("PREF_KEY_REFRESH_ACTION",true);

Post a Comment for "Android Sharedpreferences Get Null When App Or Phone Restart"