Android 之 SharedPreferences存储数据

存储数据:

1、SharedPreferences:
SharedPreferences 是一种轻型的数据存储方式,本质是基于XML文件存储key-value键值对
数据;
用途:通常用来存储一些简单的配置信息,以及应用本身的参数设置;
存储位置:/data/data/包名/shared_prefs目录下;
注意:SharedPreferences 对象本身只能获取数据而不支持存储和修改数据,
存储修改数据是通过编辑器(Editor)对象来实现的;

使用SharedPreferences 的步骤为:
* 通过上下文获取SharedPreferences对象
* 利用edit();方法来获取Eidtor对象
* 通过Editor对象存储key-value键值对数据;
* 通过commit();方法提交数据;



案例:通过SharedPreferences存储用于输入的信息;
代码如下:

package com.example.datasave;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/* SharedPreferences 存储数据测试  */
public class MainActivity extends Activity {

	/* 声明组建对象  */
	private Button btnShow ;
	private EditText name,pwd,age;
	
	/* 声明SharedPreferences 对象 */
	SharedPreferences sp ;
	
	/*  通过findViewById();方法获取组建对象  */
	public void init(){
		name = (EditText) findViewById(R.id.name);
		pwd = (EditText) findViewById(R.id.pwd);
		age = (EditText) findViewById(R.id.age);
		
		btnShow = (Button) findViewById(R.id.btnShow);
	}
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		
		/* 初始化组建对象  ,调用init()方法*/
		init();
		
		/* 设置事件监听 */
		btnShow.setOnClickListener(listener);
		
	}

	/* 编写事件,OnClickListener , 点击的时候保存用户输入的数据 */
	OnClickListener listener = new OnClickListener() {
		
		public void onClick(View v) {
			
			/* 获取SharedPreferences的对象 */
			SharedPreferences sp = getSharedPreferences("userInfo", Context.MODE_PRIVATE);
			
			/* 获取Eidtor对象, 通过eidt();方法 */
			Editor editor = sp.edit();
			
			/* 通过Eidtor对象存储key-value数据 */
			editor.putString("name", name.getText().toString());
			editor.putString("pwd", pwd.getText().toString());
			editor.putInt("age", Integer.parseInt(age.getText().toString()));
			editor.putBoolean("bool", true);
			
			/* commit(),提交数据 */
			editor.commit();
			
			Toast.makeText(MainActivity.this, "存储数据成功", 1000).show();
			
			
		}
	};


}


小贴士:
* SharedPreferences 只能存储boolean int float long String 五种数据类型;
* 存储数据的数据信息是保存在内存中在;
*SharedPreferences sp = getSharedPreferences("userInfo", Context.MODE_PRIVATE);
参数说明:1、保存数据的文件名  2:添加数据的模式,当前模式为私有,后一次覆盖前一次的数据;

猜你喜欢

转载自sunzone.iteye.com/blog/1873234