• 《第一行代码》学习笔记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方法都接收两个参数,第一个是键,传入存储数据时使用的键就可以得到相应的值;第二个是默认值,表示当传入的键找不到对应 的值时,会以什么样的默认值进行返回。

  • 相关阅读:
    基于@vueuse/core + @vue/compositionapi 实现多行元素展开/折叠功能
    httpserver当作服务器启动项目
    深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
    es6的新语法fetch
    php shell_exec() 调用ffmpeg遇到的问题
    phpcurl 遇到 cloudflare防御
    Visual Studio Code离线安装扩展失败 Corrupt ZIP: end of central directory record signature not found
    网络常用子网掩码划分表
    [docker pull nginx] Error response from daemon: Get "https://registry1.docker.io/v2/": dial tcp: lookup registry1.docker.io: no such host
    长度延展攻击
  • 原文地址:https://www.cnblogs.com/Iamasoldier6/p/5023335.html
Copyright © 2020-2023  润新知