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

原文地址:https://www.cnblogs.com/Iamasoldier6/p/5023335.html