SharedPreferences是Android提供的很方便的一种保存小数据的方式。
它能够保存一些基本类型的数据,包括int,boolean,等等,当然也包括String,这个对象类型。
我们通常可以用这个类来保存用户的基本信息,比如软件中常用的用户名密码,标记用户是否第一次打开软件等等。
下面是一个很简单的例子:实现保存用户输入的内容
/** * 通过SharedPreferences来保存用户的私有数据 * * */ public class MainActivity extends Activity { public static final String PREFS_NAME = "MyPrefsFile"; public static final String PREFS_KEY_INPUT_CONTENT = "key_input_content"; private EditText etInput; private Button btnCommit; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etInput = (EditText)findViewById(R.id.et_input); btnCommit = (Button)findViewById(R.id.btn_commit); etInput.setText(getData());//获取数据 btnCommit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { saveData();//保存数据 } }); } @Override protected void onStop(){ super.onStop(); saveData();//保存数据 } /** * 读取保存的数据 * * */ private String getData() { // 获取SharedPreferences文件 SharedPreferences settings = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);//表示这个是私有的 String inputContent = settings.getString(PREFS_KEY_INPUT_CONTENT, ""); return inputContent; } /** * 保存数据 * * */ private void saveData() { SharedPreferences settings = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); SharedPreferences.Editor editor = settings.edit(); editor.putString(PREFS_KEY_INPUT_CONTENT, etInput.getText().toString()); editor.commit(); } }
效果: