• SharedPreferences(共享首选项)的用法


    /*以下内容均摘自安卓开发者官网*/

    存储选项

    Android 为您提供了多种选项来保存永久性应用数据。您所选择的解决方案取决于您的特定需求,例如数据应该是应用的私有数据,还是可供其他应用(和用户)访问,以及您的数据需要多少空间等。

    您的数据存储选项如下:

        共享首选项     在键值对中存储私有原始数据。

        内部存储         在设备内存中存储私有数据。

        外部存储         在共享的外部存储中存储公共数据。

        SQLite 数据库  在私有数据库中存储结构化数据。

        网络连接         在网络中使用您自己的网络服务器存储数据。

    今天学习的是共享首选项的用法

         SharedPreferences 类提供了一个通用框架,以便您能够保存和检索原始数据类型的永久性键值对。 您可以使用 SharedPreferences 来保存任何原始数据:布尔值、浮点值、整型值、长整型和字符串。 此数据将跨多个用户会话永久保留(即使您的应用已终止亦如此)。

          要获取应用的 SharedPreferences 对象,请使用以下两个方法之一:

    •  getSharedPreferences() - 如果您需要多个按名称(使用第一个参数指定)识别的首选项文件,请使用此方法。
    •  getPreferences() - 如果您只需要一个用于 Activity 的首选项文件,请使用此方法。 由于这将是用于 Activity 的唯一首选项文件,因此无需提供名称。    

         

          getPreferences()是Activity类的方法,有一个int型参数mode,返回值是SharedPreferences。

             参数可以有以下几种:

                   MODE_PRIVATE :默认类型,生成的文件只能被调用的应用使用或者是共享的应用。

        MODE_APPEND  :  在已存在的文件末尾追加内容,不重写。

                   MODE_WORLD_READABLE :允许所有应用读取文件,不建议使用。

                   MODE_WORLD_WRITEABLE :允许所有应用写文件,不建议使用 。                 

                   MODE_MULTI_PROCESS :多进程共享数据,不建议使用。

    SharedPreferences getSharedPreferences (String name, int mode)

            getSharedPreferences()是ContextWrapper类的方法,ContextWrapper类继承自Context类。该方法有两个参数,name参数指定共享首选项文件名称,

            mode参数和getPreferences方法参数用法相同。


        要写入值:

    1. 调用 edit() 以获取 SharedPreferences.Editor
    2. 使用 putBoolean() 和 putString() 等方法添加值。
    3. 使用 commit() 提交新值

       要读取值,请使用 getBoolean() 和 getString() 等 SharedPreferences 方法。

              getString(String key , String default)方法有两个参数,第一个是要读数据的key值,第二个是数据不存在默认返回的值。

              getBoolean(String key , boolean default)方法有两个参数,第一个是要读数据的key值,第二个是数据不存在时默认返回的值。

    实例:

    1.getPreferences用法:

           

           

           没有使用editor.commit方法时,是不会初始化生成shared_prefs文件的同样对已经存在的shared_prefs文件也不会有任何修改的。

              

               创建成功会相应生成如图所示的xml文件。文件内容是key-value格式。

              

    2.getSharedPreferences用法

           

           生成指定文件名的文件。

    3.读取数据

      

       

      读取数据成功,如果数据不存在,会按照第二个参数信息返回。

         

        

     

     

              

              

           

           

         

          

      

     

  • 相关阅读:
    记uniapp在真机调试网络请求上遇到的一坑
    使用Vconsole在手机浏览器上进行console
    使用容联云通讯开发获取短信验证码功能
    WSL修改默认安装目录到其他盘
    Xdebug3 配置
    MySQL批量更新数据
    arcmap之jpg图片转tif(定义参考系)
    ColorThief之获取图片主色
    jquery之表单加载图片并预览
    ol3之添加点、线
  • 原文地址:https://www.cnblogs.com/wangguangjian/p/8668752.html
Copyright © 2020-2023  润新知