您的位置:首页 > 移动开发 > Android开发

Android 数据持久化之SharedPreferences

2019-08-12 16:35 78 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/u014714188/article/details/99310418

Android 数据持久化之SharedPreferences

SharedPreferences的数据持久化方式存储的数据类型比文件存储要多,存进去是什么类型,取出来就是什么类型,且存取的操作比文件存储方式简便。

1.得到SharedPreferences对象的三种方法

1.Context类中的getSharedPreferences方法
2.Activity中的getPreferences方法
3.PreferenceManager中的getDefaultSharedPreferences方法

2.数据存储的流程

1.调用SharedPreferences的edit方法来获取一个SharedPreferences.Editor editor对象
2.调用putString来进行键值对的赋值
3.调用apply方法来进行最后的数据提交

3.数据存储方法是实现事例

存储的方法十分的简单,只有三行代码

/**
* 保存登录状态
* @param context
* @param userName
*/
public static void saveLoginStatic(Context context,String userName,String password){
SharedPreferences sharedPreferences =context.getSharedPreferences("login_data",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("userName",userName);
editor.putString("password",password);
editor.apply();
}

4.数据的获取

获取就更简单,只有两行代码

/**
* 获取登录用户信息
* @param context
* @return
*/
public static LoginUser getLoginInfo(Context context){
SharedPreferences sharedPreferences = context.getSharedPreferences("login_data",MODE_PRIVATE);
String userName = sharedPreferences.getString("userName","");
String password = sharedPreferences.getString("password","");
LoginUser user = new LoginUser();
user.setUserName(userName);
user.setPassword(password);
return user;
}

5.数据的删除

/**
* 清除登录数据
* @param context
*/
public static void cleanLoginData(Context context){
SharedPreferences sharedPreferences = context.getSharedPreferences("login_data",MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.clear();
editor.commit();
}

所以鉴于自己练习的时候,使用这种方法去存储简单的应用状态,如记录登录的状态和登录的时候记住账号密码等等操作。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: