SharedPredPreferences储存
2017-07-14 10:53 烈'焰 阅读(197) 评论(0) 收藏 举报1.SharedPredPreferences是使用键值对的方法来存储数据的,保存数据时要添加一个键,读取时候可以通过键来找到。
同时他还支持多种不同数据类型储存名,你以什么类型存入就以什么类型读取
2.要是想使用它就要获取它的对象,它提供了3种方式用来的到它的对象。
①在Context类中得到getSharedPredPreferences()方法
此时的方法接收两个参数,第一个用于指定文件名,如果指定的文件不存在就会创建,第二个用于指定操作模式,目前只能选择MODE_PRIVATE模式,它是默认的模式,和传入0相同效果。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button seave= (Button) findViewById(R.id.seave);
seave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = getSharedPreferences("data",0).edit();
//添加内容的类型
editor.putString("name","Tom");//字符串
editor.putInt("Phone",110);//int类型
editor.putBoolean("married",false);//boolean类型
editor.apply();//调用方法应用数据
}
});
}
读取你所存入的文件内容
首先通过getSharedPreferences()得到SharedPreferences对象,分别调用对应的属性根据键值得到内容,其中第一个参数为键值,第二个为默认值,找不到就会返回默认值
read.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences read = getSharedPreferences("data",0);
String name= read.getString("name","");
String name2= read.getString("name2","没有");
int phone= read.getInt("Phone",0);
boolean married = read.getBoolean("married",true);
Log.d("a","name is "+name);
Log.d("a","name2 is "+name2);
Log.d("a","phone is "+phone);
Log.d("a","married is "+married);
}
});
②,Activity类中的getSharedPredPreferences()方法,他和Context类中相似,不过它只能接收一个参数。使用这个方法将自动将当前的活动名作为SharedPreferences的文件名
③。PreferenceManager类中的getDefaultSharedPreferences()方法
这是一个静态方法,它接收一个Context参数,并且使用当前包名的前缀作为SharedPreferences文件名,只要的到SharedPreferences就可以向其添加数据了
1 //定义 2 private SharedPreferences pref; 3 private SharedPreferences.Editor editor; 4 5 //可以理解为设置保存路径和文件名 6 pref = PreferenceManager.getDefaultSharedPreferences(this); 7 8 //获取SharedPreferences 对象 9 editor = pref.edit(); 10 11 //添加数据 13 //给输入的值设置键值,保存起来 14 editor.putBoolean("remember_pwd",true); 15 editor.putString("account",admin); 16 editor.putString("pwd",pwd);
浙公网安备 33010602011771号