SharedPreferences的基本使用
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();
}
}
效果: