zoukankan      html  css  js  c++  java
  • 《第一行代码》学习笔记23-持久化技术(2)

    1.类似于数据存储到文件中,Context类中提供了一个openFileInput()方法,用于从文件中读取数据,只接收一个参数,即要读取
    的文件名,然后系统会自动到/data/data//files/目录下加载该文件,并返回一个FileInputStream对象
    ,得到了这个对象之后通过Java流的方式可以将数据读取出来。

    2.对字符串进行非空判断使用TextUtils.isEmpty()方法,其可以一次性进行两种空值的判断。当传入的字符串等于null或者空
    字符串的时候,该方法都会返回true,从而不需要单独去判断两种空值,再使用逻辑运算符连接起来。

    3.SharedPreferences使用键值对方式存储数据,即保存一条数据时,给这条数据提供一个对应的键,在读取数据时通过这个键把
    相应值取出来,且同时支持多种不同的数据存储。

    4.Android中主要提供了三种方法用于得到SharedPreferences对象:
    (1)Context类中的getSharedPreferences()方法,接收两个参数,第一个指定SharedPreferences文件名称,指定文件不存在则
    会创建一个,Sharedpreferences文件都是存放在/data/data//shared_prefs/目录下的。第二个用于指定操作模式,
    主要有两种,MODE_PRIVATE和MODE_MULTI_PROCESS。
    MODE_PRIVATE:默认的操作模式,和直接传入0效果一样,表示只有当前的应用程序才可以对这个SharedPreferences文件进行读
    写。
    MODE_MULTI_PROCESS则一般是用于会有多个进程中对同一个SharedPreferences文件进行读写。
    MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE模式已在Android4.2中被遗弃。
    (2)Activity类中的getPreferences()方法,和Context中的getSharedPreferences方法很相似,只接收一个操作模式参数,使
    用这个方法时会自动将当前活动的类名作为SharedPreferences的文件名。
    (3)PreferenceManager类中的getDefaultSharedPreferences()方法,静态方法,接收一个Context参数,并自动使用当前应
    用程序的包名作为前缀来命名SharedPreferences文件。

    5.得到了SharedPreferences对象之后,向SharedPreferences文件中存储数据。分三步:
    (1)调用SharedPreferences对象的edit()方法获取一个SharedPreferences.Editor对象。
    (2)向SharedPreferences.Editor对象中添加数据,添加布尔型数据使用putBoolean方法,添加字符串使用putString()方法,等等。
    (3)调用commit()方法将添加的数据提交,完成数据存储操作。

    6.SharedPreferences文件是使用XML格式来对数据进行管理的。

    7.SharedPreferences对象中提供了提供了一系列的get方法用于对存储的数据进行读取,每种get方法都对应SharedPreferences.Editor
    中的一种put方法,比如读取一个布尔型数据就使用getBoolean()方法,读取一个字符串就使用geString()方法。
    get方法都接收两个参数,第一个是键,传入存储数据时使用的键就可以得到相应的值;第二个是默认值,表示当传入的键找不到对应 的值时,会以什么样的默认值进行返回。

  • 相关阅读:
    Java实现 洛谷 P1060 开心的金明
    (Java实现) 洛谷 P1605 迷宫
    (Java实现) 洛谷 P1605 迷宫
    (Java实现)洛谷 P1093 奖学金
    (Java实现)洛谷 P1093 奖学金
    Java实现 洛谷 P1064 金明的预算方案
    Java实现 洛谷 P1064 金明的预算方案
    (Java实现) 洛谷 P1031 均分纸牌
    QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)
    武则天红人对唐睿宗的桃色报复(如此缺少城府,注定了要在宫廷中过早地出局)
  • 原文地址:https://www.cnblogs.com/Iamasoldier6/p/5023335.html
Copyright © 2011-2022 走看看