zoukankan      html  css  js  c++  java
  • Android: SharedPreferences的简单使用(数据可持久化)

    1. SharedPreferences介绍:

     SharedPreferences 的作用是使用键值对的方式存储数据,且支持多种不同的数据类型存储。是Android数据持久化方法中最简单的一种。这种方式主要用来存储比较简单的一些数据, 而且是标准的Boolean、Int、Float、Long、String等类型。

     android.content.SharedPreferences是一个接口,用来获取和修改持久化存储的数据。

     

    2.获取SharedPreferences的三种方式:

    要想使用 SharedPreferences 来存储数据,首先需要获取到 SharedPreferences 对象。Android中主要提供了三种方法用于得到 SharedPreferences 对象。

     1. Context 类中的 getSharedPreferences()方法:
     此方法接收两个参数,第一个参数用于指定 SharedPreferences 文件的名称,如果指定的文件不存在则会创建一个,第二个参数用于指定操作模式,主要有以下几种模式可以选择。MODE_PRIVATE 是默认的操作模式,和直接传入 0 效果是相同的。
     MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 这两种模式已在 Android 4.2 版本中被废弃。 

    Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写;
    Context.MODE_WORLD_READABLE:  指定该SharedPreferences数据能被其他应用程序读,但不能写;
    Context.MODE_WORLD_WRITEABLE:  指定该SharedPreferences数据能被其他应用程序读;
    Context.MODE_APPEND:该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件;

     2. Activity 类中的 getPreferences()方法:
     这个方法和 Context 中的 getSharedPreferences()方法很相似,不过它只接收一个操作模式参数,因为使用这个方法时会自动将当前活动的类名作为 SharedPreferences 的文件名。

     3. PreferenceManager 类中的 getDefaultSharedPreferences()方法:
     这是一个静态方法,它接收一个 Context 参数,并自动使用当前应用程序的包名作为前缀来命名 SharedPreferences 文件。 

    3.SharedPreferences的使用

    SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过SharedPreferences.edit()获取的内部接口Editor对象实现。使用Preference来存取数据,用到了SharedPreferences接口和SharedPreferences的一个内部接口SharedPreferences.Editor,这两个接口在android.content包中。

    1)写入数据:
         //步骤1:创建一个SharedPreferences对象
         SharedPreferences sharedPreferences= getSharedPreferences("data",Context.MODE_PRIVATE);
         //步骤2: 实例化SharedPreferences.Editor对象
         SharedPreferences.Editor editor = sharedPreferences.edit();
         //步骤3:将获取过来的值放入文件
         editor.putString("name", “Tom”);
         editor.putInt("age", 28);
         editor.putBoolean("marrid",false);
         //步骤4:提交               
         editor.commit();
    
    
     2)读取数据:
         SharedPreferences sharedPreferences= getSharedPreferences("data", Context .MODE_PRIVATE);
         String userId=sharedPreferences.getString("name","");
    
    3)删除指定数据
         editor.remove("name");
         editor.commit();
    
    
    4)清空数据
         editor.clear();
         editor.commit();

    参考文章:ghroosk

  • 相关阅读:
    Linux基础命令题(ps/ls + grep)
    Operator Overloading in C++
    C++中class和struct的区别
    poj1110double vision搜索
    poj1321棋盘递归搜索
    vim窗口分割/切换
    xclipmore about copy&paste命令行粘贴
    [转载]怎样花两年时间去面试一个人
    最优二叉查找树optimalBSTC++实现
    vim复制粘贴——系统剪贴板
  • 原文地址:https://www.cnblogs.com/doggod/p/12110468.html
Copyright © 2011-2022 走看看