package com.sxjs.common.model.sp;
import android.content.Context;
import android.content.SharedPreferences;
import android.text.TextUtils;
import com.sxjs.common.CommonConfig;
import com.sxjs.common.util.LogUtil;
import java.util.Map;
import javax.inject.Inject;
import javax.inject.Singleton;
/**
* Created by admin on 2017/3/10.
*/
@Singleton
public class SharePreferenceHelper{
private Context context;
private static final String TAG = "SharePreferenceHelper";
@Inject
public SharePreferenceHelper(Context context) {
this.context = context;
}
private SharedPreferences.Editor getSharePreferenceEditor(String fileName) {
return getSharedPreferences(fileName).edit();
}
private SharedPreferences getSharedPreferences(String fileName){
return context.getSharedPreferences(TextUtils.isEmpty(fileName) ? CommonConfig.SHARE_PREFERENCE_FILE_NAME : fileName, Context.MODE_PRIVATE);
}
/*
* 存数据
*/
public void saveData(Map<String ,String> maps){
this.saveData(maps,null);
}
public void saveData(Map<String ,String> maps,String fileName){
if(null == maps || maps.size() == 0)return;
SharedPreferences.Editor editor = getSharePreferenceEditor(fileName);
for(Map.Entry<String, String> map:maps.entrySet()){
String key = map.getKey();
String value = map.getValue();
LogUtil.d(TAG, "存数据==key is "+key+",value is "+value);
editor.putString(key, value);
}
editor.commit();
}
public void saveData(String key,String value){
this.saveData(key,value,null);
}
public void saveData(String key,String value,String fileName){
SharedPreferences.Editor editor = getSharePreferenceEditor(fileName);
editor.putString(key, value);
editor.commit();
}
public String getValue(String key){
if(null==key)
return null;
return this.getValue(key ,null);
}
public String getValue(String key,String fileName){
if(null==key)
return null;
return getSharedPreferences(fileName).getString(key, null);
}
/*
* 读数据,返回一个Map<String, String>
*/
public Map<String, String> readData(){
return this.readData(null);
}
public Map<String, String> readData(String fileName){
return (Map<String, String>)getSharedPreferences(fileName).getAll();
}
/*
* 根据文件名删除文件里的数据
*/
public void deletePreference(){
this.deletePreference(null);
}
public void deletePreference(String fileName){
getSharedPreferences(fileName).getAll().clear();
getSharePreferenceEditor(fileName).clear().commit();
}
}