Android SharedPreferences类的使用

/*
 SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,
 通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。
 SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。
 实现SharedPreferences存储的步骤如下:
 1、根据Context获取SharedPreferences对象;
 2、利用edit()方法获取Editor对象;
 3、通过Editor对象存储key-value键值对数据;
 4、通过commit()方法提交数据;
 SharedPreferences对象与SQLite数据库相比,免去了创建数据库,创建表,写SQL语句等诸多操作,
 相对而言更加方便,简洁。但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,
 比如其无法进行条件查询等。所以不论SharedPreferences的数据存储操作是如何简单,
 它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方式。
 */
/*工程生成的文件内容如下所示:
 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <map>
 <string name="userName">demo</string>
 <string name="passWord">demo</string>
 <string name="remember_Me">false</string>
 </map>
 */
public class SharedPreferencesHelper {
	private Context m_context;
	private SharedPreferences m_sharepref;
	private SharedPreferences.Editor m_editor;

	public SharedPreferencesHelper(Context context, String name) {// 获取SharedPreferences对象
		m_context = context;
		m_sharepref = m_context
				.getSharedPreferences(name, Context.MODE_PRIVATE);// name文件名:*.xml
		m_editor = m_sharepref.edit();
	}

	public void setStringValue(String key, String value) {// 存入String数据
		m_editor.putString(key, value);
		m_editor.commit();
	}

	public String getStringValue(String key, String defValue) {// 获取String数据
		return m_sharepref.getString(key, defValue);
	}

	public void setIntValue(String key, int value) {// 存入Int数据
		m_editor.putInt(key, value);
		m_editor.commit();
	}

	public int getIntValue(String key, int defValue) {// 获取Int数据
		return m_sharepref.getInt(key, defValue);
	}

	public void setBooleanValue(String key, boolean value) {
		m_editor.putBoolean(key, value);
		m_editor.commit();
	}

	public boolean getBooleanValue(String key, boolean defValue) {
		boolean b = false;
		try {
			b = m_sharepref.getBoolean(key, defValue);
		} catch (Exception e) {
			String str = m_sharepref.getString(key, String.valueOf(defValue));
			if (str.equals("true")) {
				b = true;
			} else {
				b = false;
			}
		}
		return b;
	}
}

使用:

                // 添加Activity到堆栈
		AppManager.getAppManager().addActivity(this);

		// App String
		AppString.init(m_context);

		// 全局共享文件
		String name = AppString.getAppName();
		m_sharepref = new SharedPreferencesHelper(m_context, name);
                m_sharepref.getStringValue("monitor", "");
完!!!

猜你喜欢

转载自blog.csdn.net/xialong_927/article/details/80333524