美文网首页Android知识Android开发
使用持久化存储SharePerference

使用持久化存储SharePerference

作者: 水山一村 | 来源:发表于2017-02-15 17:56 被阅读63次

在App中的很多地方都需要使用到数据信息,比如登陆保存的账号信息,一次计算的结果等等,通常为了避免Activity之间传递数据的开销,会将这些数据通过持久化来存储。
有时候我们会把数据放在全局Appcation中,其实,这种做法是错误的。当App处于后台时,出现了内存的时候。这个Appcation很可能会被后台杀掉,当你再次恢复这个应用时,系统又会重新为这个应用创建新的Appcation。而这个Appcation里面是没有保存数据的,所以会导致空指针异常。
为了应用能够更加稳定,我们很有必要使用持久化存储来把数据保存在本地。

封装SP的代码

public class SpUtils {

  /**
   * 保存变量
   * 
   * @param context
   * @param key
   * @param obj
   */
  public static void save(Context context, String key, Object obj) {
      // sp
      SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
      // 编辑器
      Editor editor = sp.edit();

      if (obj instanceof String) {
          editor.putString(key, (String) obj);
      } else if (obj instanceof Boolean) {
          editor.putBoolean(key, (Boolean) obj);
      }

      editor.commit();// 保存
  }

  public static SharedPreferences get(Context context) {
      // sp
      SharedPreferences sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);
      return sp;
  }
}

相关文章

网友评论

    本文标题:使用持久化存储SharePerference

    本文链接:https://www.haomeiwen.com/subject/spzxwttx.html