/** * */ package coolbuy360.logic; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import android.content.Context; import android.content.SharedPreferences; /** * Ӧ������ * @author yangxc */ public class AppConfig { protected static final String PREFS_FILE = "app_config"; //2G/3G�������Ƿ��Զ���������ͼƬ public static final String Is_2G3G_AutoLoadImage = "Is_2G3G_AutoLoadImage"; //ͼƬƷ�ʣ���hight����ʾ��Ʒ�ʡ���low����ʾ��Ʒ�� public static final String Img_Quality = "Img_Quality"; //ҩ���ѯ��Χ��Ĭ��Ϊ2���-1��ʾȫ�� public static final String Store_SearchRange = "Store_SearchRange"; //ҩ���ѯ�������Ƿ�ҽ��ָ��ҩ�꣬-1��ʾ���� public static final String Store_IsHC = "Store_IsHC"; //�ļ��Ƿ񱻴��� public static final String Config_IsCreated = "Config_IsCreated"; //�Ƿ��Ѿ��ϴ����ڵ� public static final String IsUploaded_LocationAddress = "IsUploaded_LocationAddress"; protected static String _isCreated = null; private Context _context; protected static Map<String, String> _configs = new HashMap<String, String>(); protected static Map<String, String> _defaultValues = new HashMap<String, String>() { { put(Config_IsCreated, "true"); put(Is_2G3G_AutoLoadImage, "true"); put(Img_Quality, "low"); put(Store_SearchRange, "20"); put(Store_IsHC, "-1"); put(IsUploaded_LocationAddress, "false"); } }; /** * ʵ����AppConfig * @param context ����getbaseContext() */ public AppConfig(Context context) { _context = context; if(_isCreated == null) { synchronized (AppConfig.class) { if(_isCreated == null) { final SharedPreferences prefs = context.getSharedPreferences(PREFS_FILE, 0); _isCreated = prefs.getString(Config_IsCreated, null); if(_isCreated == null) { Set keysSet = _defaultValues.keySet(); Iterator iterator = keysSet.iterator(); while(iterator.hasNext()) { String key = iterator.next().toString();//key String value = _defaultValues.get(key);//value _configs.put(key, value); //��ֵд�������ļ� prefs.edit().putString(key, value).commit(); } _isCreated = "true"; } } } } } public boolean getIs2G3GAutoLoadImage(Context context) { String value = getValue(context, Is_2G3G_AutoLoadImage); return Boolean.getBoolean(value); } public boolean getIs2G3GAutoLoadImage() { String value = getValue(Is_2G3G_AutoLoadImage); return Boolean.getBoolean(value); } public int getStore_SearchRange(Context context) { String value = getValue(context, Store_SearchRange); return Integer.parseInt(value); } public int getStore_SearchRange() { String value = getValue(Store_SearchRange); return Integer.parseInt(value); } public int getStore_IsHC(Context context) { String value = getValue(context, Store_IsHC); return Integer.parseInt(value); } public int getStore_IsHC() { String value = getValue(Store_IsHC); return Integer.parseInt(value); } public static void setValue(Context context, String key, String value) { synchronized (AppConfig.class) { final SharedPreferences prefs = context.getSharedPreferences(PREFS_FILE, 0); _configs.put(key, value); prefs.edit().putString(key, value).commit(); } } public void setValue(String key, String value) { synchronized (AppConfig.class) { final SharedPreferences prefs = _context.getSharedPreferences(PREFS_FILE, 0); _configs.put(key, value); prefs.edit().putString(key, value).commit(); } } /** * ����App���õ�ֵ * @param context ��getbaseContext() * @param values ���õļ�ֵ���� */ public static void setValues(Context context, Map<String, String> values) { synchronized (AppConfig.class) { final SharedPreferences prefs = context.getSharedPreferences(PREFS_FILE, 0); Set keysSet = values.keySet(); Iterator iterator = keysSet.iterator(); while(iterator.hasNext()) { String key = iterator.next().toString();//key String value = values.get(key);//value _configs.put(key, value); //��ֵд�������ļ� prefs.edit().putString(key, value).commit(); } } } /** * ����App���õ�ֵ * @param values ���õļ�ֵ���� */ public void setValues(Map<String, String> values) { synchronized (AppConfig.class) { final SharedPreferences prefs = _context.getSharedPreferences(PREFS_FILE, 0); Set keysSet = values.keySet(); Iterator iterator = keysSet.iterator(); while(iterator.hasNext()) { String key = iterator.next().toString();//key String value = values.get(key);//value _configs.put(key, value); //��ֵд�������ļ� prefs.edit().putString(key, value).commit(); } } } /** * ��ȡApp���õ�ֵ * @param context ��getbaseContext() * @param key * @return */ public static String getValue(Context context, String key) { String value = _configs.get(key); if(value==null) { synchronized(AppConfig.class) { final SharedPreferences prefs = context.getSharedPreferences(PREFS_FILE, 0); //�������ļ���ȡ���õ�ֵ value = prefs.getString(key, _defaultValues.get(key)); _configs.put(key, value); } } return value; } /** * ��ȡApp���õ�ֵ * @param key * @return */ public String getValue(String key) { String value = _configs.get(key); if(value==null) { synchronized(AppConfig.class) { final SharedPreferences prefs = _context.getSharedPreferences(PREFS_FILE, 0); //�������ļ���ȡ���õ�ֵ value = prefs.getString(key, _defaultValues.get(key)); _configs.put(key, value); } } return value; } /** * ��ȡ�������� * @return */ public Map<String, String> getAll() { synchronized(AppConfig.class) { final SharedPreferences prefs = _context.getSharedPreferences(PREFS_FILE, 0); //�������ļ���ȡ���õ�ֵ Map<String, String> allconfigs = (Map<String, String>) prefs.getAll(); _configs.putAll(allconfigs); } return _configs; } }