zoukankan      html  css  js  c++  java
  • SharedPreferences使用(通过键值保存数据)

    保存数据到SharedPreferences中

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

    1. Context 类中的 getSharedPreferences()方法

      此方法接收两个参数,第一个参数用于指定 SharedPreferences 文件的名称,如果指定的文件不存在则会创建一个,SharedPreferences 文件都是存放在/data/data/<packagename>/shared_prefs/目录下的。第二个参数用于指定操作模式,主要有两种模式可以选择,MODE_PRIVATE 和 MODE_MULTI_PROCESS。MODE_PRIVATE 仍然是默认的操作模式,和直接传入 0 效果是相同的,表示只有当前的应用程序才可以对这个SharedPreferences文件进行读写。 MODE_MULTI_PROCESS 则一般是用于会有多个进程中对同一个 SharedPreferences 文件进行读写的情况。类似地,MODE_WORLD_READABLE和 MODE_WORLD_WRITEABLE 这两种模式已在 Android 4.2 版本中被废弃。


    2. Activity 类中的 getPreferences()方法

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


    3. PreferenceManager 类中的 getDefaultSharedPreferences()方法

      这是一个静态方法,它接收一个 Context 参数,并自动使用当前应用程序的包名作为前缀来命名 SharedPreferences 文件。得到了 SharedPreferences 对象之后, 就可以开始向 haredPreferences 文件中存储数据了

    主要可以分为三步实现。

      1. 调用 SharedPreferences 对象的 edit()方法来获取一个 SharedPreferences.Editor 对象。

    SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();

      2. 向 SharedPreferences.Editor 对象中添加数据,比如添加一个布尔型数据就使用putBoolean 方法,添加一个字符串则使用 putString()方法,以此类推。

    editor.putString("name", "Tom");
    editor.putInt("age", 28);
    editor.putBoolean("married", false);

      3. 调用 commit()方法将添加的数据提交,从而完成数据存储操作

    editor.commit();

    从SharedPreferences中获取数据

    (1)getSharedPreferences()方法得到SharedPreferences对象,两个参数,1:文件名,2:模式

    SharedPreferences GetDataSharedPreferences = getSharedPreferences("SharePreferences", MODE_PRIVATE);

    (2)SharedPreferences对象中获取数据,getXXX()方法,两个参数,1:键值,2:默认值

    String name = GetDataSharedPreferences.getString("name", "");
    int age = GetDataSharedPreferences.getInt("age", 0);
    boolean handsome = GetDataSharedPreferences.getBoolean("handsome", false);
    岑忠满的博客新站点 https://cenzm.xyz
  • 相关阅读:
    【转】忘记密码功能的安全实现(邮件方式)
    windows7下安装gem包---bcrypt-ruby
    Ruby中的%表示法
    ruby中特殊的全局变量
    rails中一个窗体多个模型——fields_for
    【转】深刻理解render 和 redirect_to
    UML核心元素--分析类
    UML核心元素--包
    UML核心元素--边界
    UML核心元素--用例
  • 原文地址:https://www.cnblogs.com/cenzhongman/p/6392648.html
Copyright © 2011-2022 走看看