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"