SharePreference的两个小细节
2016-05-11 11:00
316 查看
首先介绍一下SharePreference的存储取值和清除
1.存储:
2.取值:
细节1:如果你对取值的地方比较多的话,就是说有很多地方都需要用到SharedPreferences里面的值,那么你可以写一个工具类,这样就不用每次都进行
SharedPreferences sp = getSharedPreferences(“config”, Context.MODE_PRIVATE);
//取得user_id和手机号
String numbers = sp.getString(“mobile”, “”);//如果取不到值就取后面的””
这步操作了,工具类写法如下:
PrefUtils:
这样取值的时候只要这样就行了:
当然存储也可以使用工具,这样代码更简洁
3.清除数据:
细节2:整个存储和取值的过程中一定要保证SharedPreferences sp = getSharedPreferences(“text”, Context.MODE_PRIVATE);里面的”text”, Context.MODE_PRIVATE一致性,就是保证这两个值始终一样,否则你取不到值。
1.存储:
// 实例化SharedPreferences对象(第一步) SharedPreferences mySharedPreferences = getSharedPreferences("text", Context.MODE_PRIVATE); // 实例化SharedPreferences.Editor对象(第二步) SharedPreferences.Editor editor = mySharedPreferences.edit(); // 用putString的方法保存数据 editor.putString("id", myid.toString()); // 提交当前数据 editor.commit();
2.取值:
// String numbers=PrefUtils.getString(MineActivity.this, //"mobile", ""); SharedPreferences sp = getSharedPreferences("text", Context.MODE_PRIVATE); //取得user_id和手机号 String numbers = sp.getString("mobile", "");//如果取不到值就取后面的"" textView4.setText(numbers);
细节1:如果你对取值的地方比较多的话,就是说有很多地方都需要用到SharedPreferences里面的值,那么你可以写一个工具类,这样就不用每次都进行
SharedPreferences sp = getSharedPreferences(“config”, Context.MODE_PRIVATE);
//取得user_id和手机号
String numbers = sp.getString(“mobile”, “”);//如果取不到值就取后面的””
这步操作了,工具类写法如下:
PrefUtils:
import android.content.Context; import android.content.SharedPreferences; /** * 对sharePreference的一个封装 */ public class PrefUtils { // 获取boolean值 public static boolean getBoolean(Context ctx, String key, boolean defValue) { SharedPreferences sp = ctx.getSharedPreferences("text", Context.MODE_PRIVATE); return sp.getBoolean(key, defValue); } // 设置boolean值 public static void setBoolean(Context ctx, String key, boolean value) { SharedPreferences sp = ctx.getSharedPreferences("text", Context.MODE_PRIVATE); sp.edit().putBoolean(key, value).commit(); } // 设置 string 值 public static void setString(Context ctx, String key, String value) { SharedPreferences sp = ctx.getSharedPreferences("text", Context.MODE_PRIVATE); sp.edit().putString(key, value 4000 ).commit(); } // 获取string值 public static String getString(Context ctx, String key, String defValue) { SharedPreferences sp = ctx.getSharedPreferences("text", Context.MODE_PRIVATE); return sp.getString(key, defValue); } // 设置 int 值 public static void setInt(Context ctx, String key, int value) { SharedPreferences sp = ctx.getSharedPreferences("text", Context.MODE_PRIVATE); sp.edit().putInt(key, value).commit(); } // 获取int值 public static int getBoolean(Context ctx, String key, int defValue) { SharedPreferences sp = ctx.getSharedPreferences("text", Context.MODE_PRIVATE); return sp.getInt(key, defValue); } }
这样取值的时候只要这样就行了:
String numbers=PrefUtils.getString(MineActivity.this, //"mobile", ""); textView4.setText(numbers);
当然存储也可以使用工具,这样代码更简洁
3.清除数据:
SharedPreferences sp = getSharedPreferences("text", Context.MODE_PRIVATE); Editor editor = sp.edit(); editor.clear(); editor.commit();
细节2:整个存储和取值的过程中一定要保证SharedPreferences sp = getSharedPreferences(“text”, Context.MODE_PRIVATE);里面的”text”, Context.MODE_PRIVATE一致性,就是保证这两个值始终一样,否则你取不到值。
相关文章推荐
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- 关于js中namespace命名空间模式
- href=javascript用法
- JSON的自定义序列化和解析
- 【caffe配置】WIN10+caffe+vs2013配置
- jquery 删除json list中的数据
- JAVA中修改JOptionPane的字体样式(Font)
- jquery、javascript 遍历ajax返回的 List集合