`
y150988451
  • 浏览: 195619 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

SharedPreferences存储

XML 
阅读更多
SharedPreferences是以XML的格式以文件的方式自动保存的,在DDMS中的File Explorer中展开到/data/data/<package name>/shared_prefs下

我们可以通过[getXXX]函数,从SharedPreferences中读取不同类型的内容,例如下面我们使用[getString]读取String类型的内容。

Preferences中能在同一个包内使用,不能在不同的包之间使用

public class DBSharedPreferences extends Activity {
	public static final String SETTING_INFOS = "SETTING_Infos";
	public static final String NAME = "NAME";
	public static final String PASSWORD = "PASSWORD";

	private EditText field_name;//接收用户名的组件
	private EditText filed_pass;//接收密码的组件

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		//Find VIew
		field_name = (EditText) findViewById(R.id.name);//首先获取用来输入用户名的组件
		filed_pass = (EditText) findViewById(R.id.password);//同时也需要获取输入密码的组件
		// Restore preferences
		SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0);//获取一个SharedPreferences对象
		String name = settings.getString(NAME, "");//取出保存的NAME
		String password = settings.getString(PASSWORD, "");//取出保存的PASSWORD
		//Set value
		field_name.setText(name);//将取出来的用户名赋予field_name
		filed_pass.setText(password);//将取出来的密码赋予filed_pass

	}

	/**
	 * 当程序运行onStop过程,也就是程序退出时,首先使用SharedPreferences得到settings,
	 * 然后调用edit()方法使其处于可以编辑状态,并使用putString将两个EditText中的值保存起来,最后
	 * 使用commite()方法提交即可保存
	 * 
	 */
	protected void onStop(){
		super.onStop();
		SharedPreferences settings = getSharedPreferences(SETTING_INFOS, 0);//首先获取一个SharedPreferences对象
		settings.edit()
		.putString(NAME, field_name.getText().toString())
		.putString(PASSWORD, filed_pass.getText().toString())
		.commit();//将用户名和密码保存进去
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics