zoukankan      html  css  js  c++  java
  • Android学习--持久化(二) SharedPreferences

    SharedPreferences 


           SharedPreferences 也是通过一个简单的Demo来理解SharedPreferences我们该怎么用,说说自己站在一个iOS开发的角度来看这个SharedPreferences的理解,在iOS中你肯定会知道NSUserDefaults,按照我自己的理解,这个NSUserDefaults和SharedPreferences是特别像的,都是通过键值对的方式来存储数据的,你要是懂iOS的话我觉得理解这个SharedPreferences也会变得相应的容易一点。它可以存储不同类型的数据,并且在读取出来的时候数据是和你写进去的时候数据类型是一致的。

    登录Demo


         下面通过这个简单的Demo来整理一下SharedPreferences,先看看下面的运行效果图:

             代码其实很简单就这么几句,这里是数据的读取,也就是在控件创建的时候去判断是不是已经有过登录操作,有存储数据在本地:

              下面是我们再点击登录的时候,把数据存储起来:

     

    SharedPreferences的存储、读取过程 


      

          SharedPreferences的整个过程可以按照下面四个步走进行:

          1、 获取到SharedPreferences对象,通过调用该对象的edit()方法获取到一个SharedPreferences.Editor对象

          2、向SharedPreferences.Editor对象添加对象,比如布尔类型就用putBoolean()方法,添加字符串就用putString()方法

          3、调用apply()方法将添加的互数据提交,完成了数据的存储

          4、读取的时候就用SharedPreferences对象的各种get方法,这里说一下比如说这个getString()方法,两个参数,第一个参数就是我们的键,第二个值就是我们的默认参数,也就是通过这个键找不到值的时候就返回你这里填入的值,理解这个意思就行。

    SharedPreferences对象获取方法挺多的


          按照我们以前的理解,SharedPreferences对象的获得你会不会想着直接初始化这个SharedPreferences,在iOS中是这样,但在Android中我们的办法就不止了,下面这些原理那肯定都是初始化,说说下面这三个获取方法:

         

         1、 Context 类中的 getSharedPreferences()方法, 此方法接收两个参数,第一个参数用于指定SharedPreferences的文件名称,第二个用于指定操作模式,和前面我们提到的文件存储的时候是一样的。

         2、Activity 类中的 getPreferences() 方法, 这个方法和上面我们提到的Context类的方法是相似的,只不过它只接收一个参数,也就是Context中对应的第二个参数,它的文件名字默认是当前活动的类名

         3、PreferencephalitisManager 类中的getdefaultSharePreferences()方法,这是一个静态的方法,它接收的是一个context参数,并且使用当前程序的包名称用作SharedPreferences的文件名

         通过上面说的这几点,相信能够掌握SharedPreferences!

  • 相关阅读:
    ContextLoaderListener和Spring MVC中的DispatcherServlet学习 随手记
    Linux目录详解
    9---PIP 管理工具的使用
    8. Python自定义模块humansize
    1. Hyper上的CentOS 6.5 网络配置
    Python基础学习8---list列表的操作
    Python基础学习6---存储器
    Python基础学习3---数据结构
    Python基础学习2---模块
    Python基础学习1---函数
  • 原文地址:https://www.cnblogs.com/zhangxiaoxu/p/7305623.html
Copyright © 2011-2022 走看看