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();
	}
    
}

 

效果:

 

SharedPreferences的基本使用