本地存储

android

2013-05-06 16:47

SharedPreferences   介绍


写入---------------------------------


SharedPreferences sp = getSharedPreferences("Content", Context.MODE_PRIVATE);   //创建

Editor editor = sp.edit();                                                                                                //获取的编辑器

editor.putString(t1.getText().toString(), t2.getText().toString());                                 //设置 键和值

editor.commit();                                                                                                          //提交修改

String ad=t1.getText().toString()+"的值是"+t2.getText().toString()+"添加成功\n";   //提示

Toast.makeText(getBaseContext(), ad, 5).show();



读取--------------------------------

SharedPreferences sp = getSharedPreferences("Content", Context.MODE_PRIVATE); 

String asd=sp.getString(t1.getText().toString(), "").toString();

Map map=new HashMap();

map=sp.getAll();

Toast.makeText(getBaseContext(), t1.getText().toString()+"的值是"+asd,5).show();

//获取全部

for(Object o:map.keySet()){

System.out.println(o); // Map的键

System.out.println(map.get(o)); // Map的值

}


还可以设置其他类型参数

editor.putString("STRING_KEY", "string");

editor.putInt("INT_KEY", 0);

editor.putBoolean("BOOLEAN_KEY", true);


//如果NOT_EXIST不存在,则返回值为"none"
sp.getString("NOT_EXIST", "none");




Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
如果希望文件被其他应用读和写,可以传入:
getSharedPreferences("itcast.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);

-------------------------------------------------------------------------------------------------------------------------