获取SharedPreferences的两种方式:
1 调用Context对象的getSharedPreferences()方法
2 调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他
组件共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.
SharedPreferences的四种操作模式:
Context.MODE_PRIVATE
Context.MODE_APPEND
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITEABLE
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.
将数据保存至SharedPreferences:
SharedPreferences preferences=getSharedPreferences("user",Context.MODE_PRIVATE);
Editor editor=preferences.edit();
String name="xixi";
String age="22";
editor.putString("name", name);
editor.putString("age", age);
editor.commit();
从SharedPreferences获取数据:
SharedPreferences preferences=getSharedPreferences("user", Context.MODE_PRIVATE);
String name=preferences.getString("name", "defaultname");
String age=preferences.getString("age", "0");
*********使用sharedPreferences存储数据
1.通过Context对象的方法 创建一个SharedPreference sharedPreferences对象
getSharedPreferences( String filename, Mode mode);
//name:sharedpreference文件的名称 mode:文件的操作模式
SharedPreferences sharedPreferences = context.getSharedPreferences("userinfo.txt", Context.MODE_PRIVATE);
2.通过sharedPreferences对象的方法edit() 获取一个Editor对象
Editor editor = sharedPreferences.edit();
3.往Editor editor编辑器对象中添加(键值对)数据---putString(key,value);
editor.putString("username", username);
editor.putString("password", password);
4.提交Editor对象添加的数据。 --- commit()
editor.commit();
1.通过Context对象的方法 创建一个SharedPreference sharedPreferences对象
getSharedPreferences( String filename, Mode mode);
//name:sharedpreference文件的名称 mode:文件的操作模式
SharedPreferences sharedPreferences = context.getSharedPreferences("userinfo.txt", Context.MODE_PRIVATE);
2.通过sharedPreferences对象的方法edit() 获取一个Editor对象
Editor editor = sharedPreferences.edit();
3.往Editor editor编辑器对象中添加(键值对)数据---putString(key,value);
editor.putString("username", username);
editor.putString("password", password);
4.提交Editor对象添加的数据。 --- commit()
editor.commit();
*********使用sharedPreferences的方法 读取数据
1.通过Context对象getSharedPreferences(arg1,arg2)方法 创建一个SharedPreference对象
rg1---私有文件名 arg2---访问私有文件的权限模式
SharedPreferences sharedPreferences = context.getSharedPreferences("userinfo.txt", Context.MODE_PRIVATE);
2.通过sharedPreference获取存放的数据
//key:存放数据时的key defValue: 默认值,根据业务需求来写
String username = sharedPreferences.getString("username", "");
String password = sharedPreferences.getString("password", "");
通过PreferenceManager可以获取一个默认的sharepreferences对象
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
下面做一个类似记住密码功能的Demo,界面如下
代码示例:
布局文件activitymain.xml