Android数据储存之SharedPreferences
Android中SharedPreferences通常与Editor连用
接口SharedPreferences常用方法:
boolean contains(String str):判断SharedPreferences中是否包含key为str的数据;
abstract Map<String,?>getALL():获取SharedPreferences中所有数据;
String getxxxx(String str,xxxx defvalue):获取指定类型的key为str的值!如果没有找到,则返回 defvalue
SharedPreferences 对象的获取方法:
通过Context中的getSharedPreferences(String name,int mode);
1、第一个参数为SharedPreferences的名称!
2、第二个参数有如下几个值:
(1)Context.MODE_PRIVATE :指定SharedPreferences数据只能被本应用使用
(2)Context.MODE_WORLD_READABLE:指定SharedPreferences数据可以被其他应用读取,但是不能写
(3)Context.MODE_WORLD_WRITEABLE:指定SharedPreferences数据可以被其他应用程序读写
Editor 常用方法:
SharedPreferences.Editor Clear(); 清空SharedPreferences中所有数据
SharedPreferences.Editor putxxxx(String str,xxxx value) 向SharedPreferences中添加数据
SharedPreferences.Editor remove(String str) 删除SharedPreferences中指定key为str的数据
boolean commit(); 增删改之后提交
获取Editor对象:
SharedPreferences.edit();
代码:
public class MainActivity extends Activity implements OnClickListener{
private Button read,write;
private SharedPreferences preferences;
private SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setEvent();
}
private void setEvent() {
write.setOnClickListener(this);
read.setOnClickListener(this);
}
private void initView() {
write =(Button) this.findViewById(R.id.write);
read =(Button) this.findViewById(R.id.read);
preferences = this.getSharedPreferences("MySharedPreferences",Context.MODE_PRIVATE);
editor = preferences.edit();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.read:
//contains(Stirng str)方法:查找该sharedpreferences中是否包含key值为str的值!
boolean i = preferences.contains("ddd");
if(i){
String str = preferences.getString("ddd", "0");
//Toast.makeText(this,""+str+"", 0).show();
}else{
Toast.makeText(this,"没找到该数据", 0).show();
}
Map<String, ?> map = preferences.getAll();
for (Entry<String, ?> map1 : map.entrySet()) {
Toast.makeText(this,"KEY="+map1.getKey()+"||||||VALUE="+map1.getValue(), 0).show();
}
break;
case R.id.write:
editor.putString("ddd",new Date().toString());
editor.putBoolean("aa",false);
editor.putFloat("ff", 13);
editor.putInt("rr", 33232);
editor.commit();
break;
default:
break;
}
}
}

浙公网安备 33010602011771号