`

属性文件-保存个人设置

 
阅读更多

 

   Android中信息保存有三种方法:

1 SharePreferences    2 文件保存    3 数据库存储 

但现在个人还没找到 他们中每个有什么特殊的的用途,好像东西用他们每一个都能存储,也都能持久存储 

有高手略过欢迎给予指点,多谢。

 

 

 

/**
 * 应用程序配置类:用于保存用户相关信息及设置
 * 用属性文件来保存一些基本信息
 * 类设计为单例,Android,一UI线程为主,个人觉得不涉及到线程安全问题 
 */
@SuppressLint("NewApi")
public class AppConfig {

	private final static String APP_CONFIG = "config";
        public final static String CONF_LOAD_IMAGE = "perf_loadimage";

	 
	public final static String SAVE_IMAGE_PATH = "save_image_path";
	@SuppressLint("NewApi")
	public final static String DEFAULT_SAVE_IMAGE_PATH = Environment.getExternalStorageDirectory()+ File.separator+ "包名"+ File.separator;
			
	private Context mContext;
	private static AppConfig appConfig;

	public static AppConfig getAppConfig(Context context) {
		if (appConfig == null) {
			appConfig = new AppConfig();
			appConfig.mContext = context;
		}
		return appConfig;
	}

	/**
	 * 获取Preference设置
	 */
	public static SharedPreferences getSharedPreferences(Context context) {
		return PreferenceManager.getDefaultSharedPreferences(context);
	}

	/**
	 * 是否加载显示文章图片
	 */
	public static boolean isLoadImage(Context context) {
		return getSharedPreferences(context).getBoolean(CONF_LOAD_IMAGE, true);
	}
 
	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);
			Log.i("OSChina", dirConf.getPath() ) ; 
			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);
	}
}

 

分享到:
评论

相关推荐

    修改文件属性.rar

    在计算机操作系统中,文件属性是描述文件的基本特征的设置,包括隐藏、只读、系统、存档等。这些属性有助于管理文件,保护数据,并在某些情况下提高系统性能。本教程将详细讲解如何修改文件属性以及它们对文件操作的...

    最新--最全CAD快捷键快捷键命令大全.doc

    - W:定义一个新的块并保存为文件 - TR:修剪图形 - CO:复制对象 - EX:延伸对象到另一对象 - MI:镜像对象 - S:拉伸对象 - F:倒圆角,使对象边缘变得平滑 - U:撤销上一步操作 - SC:比例缩放对象 - ...

    修改桌面文件默认保存路径

    - 打开文件资源管理器,定位到你想设置为新桌面文件保存位置的文件夹。 - 右键点击该文件夹,选择“属性”。 - 在弹出的属性窗口中,切换到“位置”标签页。 - 点击“移动”按钮,选择“桌面”文件夹,然后点击...

    CAD快捷键(完整版)(20211008083304).pdf

    - Ctrl+S: 保存图形文件 - Ctrl+V: 粘贴 - Ctrl+X: 剪切 - Ctrl+Y: 撤销上一步操作 - Ctrl+Z: 重做上一步操作 - Ctrl+P: 打印 字母快捷键则代表了特定命令的简写,例如: - 3A: 执行三维阵列命令 - 3DARRAY: 三维...

    CAD快捷键命令大全.pdf

    CAD,即计算机辅助设计(Computer-Aided Design),是一种广泛用于工程和设计领域的软件工具,用于绘制、修改和分析二维和三维...在实际工作中,可以根据个人习惯和需求定制自己的快捷键设置,以达到最佳的工作效果。

    3.4.5 配置文件 - Wireshark 数据包分析实战(第 3 版) - 知乎书店1

    Wireshark的配置文件分为两种类型:个人设置目录和全局设置目录。全局设置目录存放的是默认的配置选项,对系统中的所有用户均有效。而个人设置目录则保存每个用户特有的配置,只影响当前用户。当用户做出新的配置...

    PROE---PROE安裝步驟

    - 若多人共用一台电脑,可以在使用软件前设置此内容,以便打开软件时自动加载个人设置。 #### 四、软件中英文设置 **1. 确认是否已安装中英文** - **步骤**: - 检查安装过程中是否选择了中英文版本。 **2. ...

    serv-u 编码配置

    正确地配置Serv-U的编码设置,能够确保在不同语言环境下的文件名和路径正确显示,避免因编码不匹配导致的文件传输问题。 #### 二、Serv-U编码配置步骤 根据提供的文档内容,我们将详细解析Serv-U的UTF-8编码配置...

    VS2013+PCL1.8.0 一键配置属性表文件

    在IT行业中,Visual Studio(VS)是微软推出的一款强大的开发工具,被广泛用于创建各种类型的应用程序,包括桌面应用...同时,使用属性表文件还可以方便团队成员共享一致的项目配置,降低因为个人设置差异导致的问题。

    windows7教案2---文件管理.pdf

    - 用户可能会保存个性化的文件,如图片、文本文件等,用于个人使用或者设置壁纸等。 ### 系统文件和工具 - "C:\WINDOWS\system32" 通常包含操作系统的核心文件和工具。 ### 文件操作快捷键 - 括号内的内容(如Ctrl...

    如何从orcad 导出原理图symbol到HDL中以及快速添加器件属性

    - 保存路径可根据个人喜好选择。 #### 三、使用HDL导入OrCAD原理图库 ##### 3.1 打开Project Manager 1. **切换到Allegro PCB Librarian XL**: - 打开`Project Manager`,点击`File` > `Change Product`,选择...

    修改文件右击属性里的摘要信息里的备注

    这些信息可以帮助组织和搜索文件,也可以用于版权保护或者个人记录。本篇文章将详细介绍如何修改文件的右键属性中的摘要信息,尤其是备注部分。 首先,我们来了解一下什么是摘要信息。摘要信息是文件属性中的一类...

    sw 工程图设置

    - 在“工具”->“选项”中调整“系统选项”和“文件属性”设置,以符合个人或公司的需求。 - 完成设置后,点击“文件”->“另存为”,选择相应的模板扩展名进行保存。 2. **修改模板**: - 打开已有的模板文件。 ...

    使用自动化设置Word文档属性

    在Microsoft Word中,设置文档属性是一项重要的工作,它可以帮助用户更好地组织、检索和管理文档。自动化这个过程可以显著提高效率,...无论是个人使用还是在企业环境中,自动化设置文档属性都能极大地提升工作效率。

    java学生信息管理系统(GUI界面+文件保存)

    在实现文件保存功能时,系统可能会提供“保存”和“打开”两个选项。保存功能会将当前的学生信息集合转换为文本格式(如CSV或XML),然后写入到用户指定的文件中。打开功能则相反,读取文件内容并恢复到内存中的集合...

    Visual Studio 开发中常见的文件名后缀

    - 保存在用户的个人文件夹中,不会被版本控制系统跟踪。 #### .asmx 文件 - **定义**:.asmx 文件是 ASP.NET Web 服务文件。 - **作用**: - 定义可以远程调用的 Web 服务接口。 - 使用 XML 格式进行数据交换。...

    solidworks自定义属性及标题栏[归纳].pdf

    1. 建立零件自定义属性:利用属性选项卡编辑器编辑自定义属性,比如添加名称、材料、单重、图号等,然后保存为零件自定义属性文件(*.prtprp)。 2. 建立装配体自定义属性:建立装配体自定义属性文件(*.asmprp),...

    winxp入门教程-老年人专用

    ##### 4.3 设置文件和文件夹的属性 - **文件和文件夹的加密**:对敏感数据进行加密保护。 - **文件和文件夹的隐藏**:使文件或文件夹对一般用户不可见。 ##### 4.4 Windows 资源管理器的设置 - **文件打开方式**...

    solidworks自定义属性及标题栏[参照].pdf

    2. 自定义属性文件、零件模板、装配体模板、工程图模板需保存到系统选项下的“文件位置”中的“文件模板”所定义的文件夹中,才能正确找到。 SolidWorks 自定义属性及标题栏的设置是非常重要的,对于提高工作效率和...

    DOS常用命令大全

    - `attrib +r report.txt` 将文件`report.txt`设置为只读属性。 - `attrib +a *.txt` 将所有`.txt`文件设置为存档属性。 - `attrib +s *.sys` 将所有`.sys`文件设置为系统属性。 - `attrib -a *.bak` 将所有`.bak`...

Global site tag (gtag.js) - Google Analytics