使用持久化存储SharePerference

在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;
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容