一次次尝试 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:添加数据的模式,当前模式为私有,后一次覆盖前一次的数据;