Android SharedPreferences存取操作以及封裝詳解
存
首先初始化
private SP sp; sp = new SP( context );
存入數(shù)據(jù)
第一個參數(shù)為上下文,第二個參數(shù)為key,第三個參數(shù)為要存入的數(shù)據(jù)Value
sp.PutData( context,"AccessToken",AccessToken );
取
初始化
private SP sp; sp = new SP( context );
取出數(shù)據(jù)
第一個參數(shù)為上下文,第二個參數(shù)為存入數(shù)據(jù)時定義的名稱,第三個數(shù)據(jù)為取出數(shù)據(jù)的默認(rèn)類型(這個參數(shù)很關(guān)鍵,再封裝類轉(zhuǎn)換類型時尤為重要)
AccessToken = (String) sp.GetData( context,"AccessToken","" );
封裝類
public class SP {
private static SP spInstant;
private String defaultModelName;
public SP(){
}
public SP (Context context){
if (spInstant == null){
spInstant = new SP( );
spInstant.defaultModelName = context.getResources().getString( R.string.DefaultModelName );
}
}
public void PutData(Context context,String key,Object value){
PutData( context,defaultModelName,key,value );
}
private void PutData(Context context,String defaultModelName ,String key,Object value){
SharedPreferences preferences = context.getSharedPreferences( defaultModelName,Context.MODE_PRIVATE );
SharedPreferences.Editor editor = preferences.edit();
if (value instanceof Boolean){
editor.putBoolean( key,(Boolean) value );
}else if (value instanceof Integer){
editor.putInt( key,(Integer)value );
}else if (value instanceof Float){
editor.putFloat( key,(Float)value );
}else if (value instanceof Long){
editor.putLong( key,(Long)value );
}else if (value instanceof String){
editor.putString( key,(String)value );
}else{
return;
}
editor.apply();
}
public Object GetData(Context context,String key,Object defaultValue){
return GetData( context,defaultModelName,key,defaultValue);
}
private Object GetData(Context context,String defaultModelName,String key,Object defaultValue){
SharedPreferences preferences = context.getSharedPreferences( defaultModelName,Context.MODE_PRIVATE );
if (defaultValue instanceof Boolean){
return preferences.getBoolean( key,(Boolean) defaultValue );
}else if (defaultValue instanceof Integer){
return preferences.getInt( key,(Integer) defaultValue );
}else if (defaultValue instanceof Float){
return preferences.getFloat( key,(Float) defaultValue );
}else if (defaultValue instanceof Long){
return preferences.getLong( key,(Long) defaultValue );
}else if (defaultValue instanceof String){
return preferences.getString( key,(String) defaultValue );
}else{
return null;
}
}
}
到此這篇關(guān)于Android SharedPreferences存取操作以及封裝詳解的文章就介紹到這了,更多相關(guān)Android SharedPreferences內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
android獲取附近藍(lán)牙設(shè)備并計算距離的實例代碼
下面小編就為大家分享一篇android獲取附近藍(lán)牙設(shè)備并計算距離的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
Android的OkHttp包中的HTTP攔截器Interceptor用法示例
攔截器是OkHttp處理HTTP請求方面所具有的一個強(qiáng)大特性,這里我們就來看一下Android的OkHttp包中的HTTP攔截器Interceptor用法示例,需要的朋友可以參考下2016-07-07

