很多時候我們開發的軟件需要向用戶提供軟件參數設置功能,例如我們常用的QQ,用戶可以設置是否允許陌生人添加自己爲好友。對於軟件配置參數的保存,如果是window軟件通常我們會採用ini文件進行保存,如果是j2se應用,我們會採用properties屬性文件或者xml進行保存。如果是Android應用,我們最適合採用什麼方式保存軟件配置參數呢?Android平臺給我們提供了一個SharedPreferences類,它是一個輕量級的存儲類,特別適合用於保存軟件配置參數。使用SharedPreferences保存數據,其背後是用xml文件存放數據,文件存放在/data/data/<package name>/shared_prefs目錄下:
/**
* 保存設置文件的參數
* @author Administrator yangchao
*/
public class MainActivity extends Activity {
EditText etName, etAge, etContent;
//定義一個使用SharedPreferences保存數據,其背後是用xml文件存放數據,
SharedPreferences preferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etName = (EditText) findViewById(R.id.etName);
etAge = (EditText) findViewById(R.id.etAge);
etContent = (EditText) findViewById(R.id.etContent);
/**
* 獲取SharedPreferences
* 使用SharedPreferences保存數據,其背後是用xml文件存放數據,
* 文件存放在/data/data/<package name>/shared_prefs目錄下:
*/
preferences = this.getSharedPreferences("prefer", MODE_PRIVATE);
}
/**
* 進行數據的保存
* @param view
*/
public void click(View view)
{
String name = etName.getText().toString().trim();
String age = etAge.getText().toString().trim();
Editor editor = preferences.edit();//獲取編輯器
editor.putString("name", name);
editor.putInt("age", new Integer(age));
editor.commit();//提交數據 將數據進行永久性保存
Toast.makeText(this, "保存成功", 1).show();
}
/**
* 進行數據的讀取
* @param view
*/
public void read(View view)
{
String name = preferences.getString("name", "默認人名");
int age = preferences.getInt("age", 000);
etContent.setText("name: "+name + ",age:"+ age);
}
}