Android 之 SharedPreferences存储数据

一次次尝试 2013-05-22

存储数据:

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只能存储booleanintfloatlongString五种数据类型;

*存储数据的数据信息是保存在内存中在;

*SharedPreferencessp=getSharedPreferences("userInfo",Context.MODE_PRIVATE);

参数说明:1、保存数据的文件名2:添加数据的模式,当前模式为私有,后一次覆盖前一次的数据;

相关推荐