package com.mfh.comna.bizz;
import android.content.Context;
import com.mfh.comna.api.utils.FileUtil;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.Properties;
/**
* 应用程序配置类:用于保存用户相关信息及设置
* Created by Administrator on 2015/5/26.
*/
public class AppConfig {
//正式发布版本为true(production,beta,develop)
public static boolean RELEASE = true;
public static boolean DEBUG = !RELEASE;
private final static String APP_CONFIG = "false";
public static String PREF_APP_UPDATE = "app_update";
public static final String KEY_APP_NAME = "app_name";
public static final String VALUE_APP_NAME_DEF = "default";
public static final String EXTRA_KEY_APP_NAME = "app_name";
//com.mfh.owner "manfenhome"
public static final String DEFAULT_ROOT_FOLDER = BizApplication.getAppContext().getPackageName();
public final static String DEFAULT_SAVE_PATH = FileUtil.SDCARD + File.separator + DEFAULT_ROOT_FOLDER + File.separator;
// 默认缓存路径
public final static String DEFAULT_CACHE_PATH = DEFAULT_SAVE_PATH + "cache" + File.separator;
// 默认缓存图片路径
public final static String DEFAULT_KJBITMAP_CACHEPATH = DEFAULT_ROOT_FOLDER + File.separator + "imagecache";
public final static String DEFAULT_CACHE_IMAGE_PATH = DEFAULT_SAVE_PATH + "cache" + File.separator + "image";
// 默认存放截屏的路径
public final static String DEFAULT_SCRESHOOT_PATH = DEFAULT_SAVE_PATH + "screenshoot" + File.separator;
// 默认存放拍照的路径
public final static String DEFAULT_SAVE_CAMERA_PATH = DEFAULT_SAVE_PATH + "Camera" + File.separator;
// 默认存放裁剪的路径
public final static String DEFAULT_SAVE_CROP_PATH = DEFAULT_SAVE_PATH + "crop" + File.separator;
// 默认存放文件下载的路径
public final static String DEFAULT_SAVE_FILE_PATH = DEFAULT_SAVE_PATH + "download" + File.separator;
private Context mContext;
private static AppConfig instance;
public static AppConfig getInstance(Context context) {
if (instance == null) {
instance = new AppConfig();
instance.mContext = context;
}
return instance;
}
public String get(String key) {
Properties props = get();
return (props != null) ? props.getProperty(key) : null;
}
public Properties get() {
FileInputStream fis = null;
Properties props = new Properties();
try {
// 读取files目录下的config
// fis = activity.openFileInput(APP_CONFIG);
// 读取app_config目录下的config
File dirConf = mContext.getDir(APP_CONFIG, Context.MODE_PRIVATE);
fis = new FileInputStream(dirConf.getPath() + File.separator
+ APP_CONFIG);
props.load(fis);
} catch (Exception e) {
} finally {
try {
fis.close();
} catch (Exception e) {
}
}
return props;
}
private void setProps(Properties p) {
FileOutputStream fos = null;
try {
// 把config建在files目录下
// fos = activity.openFileOutput(APP_CONFIG, Context.MODE_PRIVATE);
// 把config建在(自定义)app_config的目录下
File dirConf = mContext.getDir(APP_CONFIG, Context.MODE_PRIVATE);
File conf = new File(dirConf, APP_CONFIG);
fos = new FileOutputStream(conf);
p.store(fos, null);
fos.flush();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos.close();
} catch (Exception e) {
}
}
}
public void set(Properties ps) {
Properties props = get();
props.putAll(ps);
setProps(props);
}
public void set(String key, String value) {
Properties props = get();
props.setProperty(key, value);
setProps(props);
}
public void remove(String... key) {
Properties props = get();
for (String k : key)
props.remove(k);
setProps(props);
}
}