android中数据存储全方案--持久化技术

数据持久化:将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或平板关机的情况下,这些数据仍不会丢失。保存在内存中的数据是处于瞬时状态的,而保存在存储设备中的数据是处于持久状态的,持久化技术则提供了一种机制可以让数据在瞬时状态和持久状态之间相互转化。
Android中主要提供了3种方式实现数据持久化技术。
1.文件存储
2.ShardPreferences存储
3.数据库存储

1.文件存储 是Android中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有的数据都是原封不动的保存到文件当中的,因而它比较适合存储一些简单的文本数据或二进制数据

Context类中提供了一个OpenFileOutput()方法,可以用于将数据存储到指定文件中
有两个参数:
1.文件名,在文件创建的时候使用这个名称,这个文件名不可以包含名称,因为所有的文件都默认存放到/data/data//files/目录下
2.文件的操作模式。主要由两种模式可选,MODE_PRIVATE 和MODE_APPEND
前者是默认的操作模式,表示当指定同样文件名的时候,所写入的内容将覆盖源文件中的内容。
后者表示如果文件已存在,就往文件里面追加内容,不存在就创建新文件。
OpenFileOutput()方法返回的是一个FileOutputStream对象,得到这个对象之后就可以使用Java流的方式将数据写入到文件中了。

2.ShardPreferences存储
采用键值对的方式来存储数据的,也就是说,当保持一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以通过这个键把响应的值取出来。而且它支持多种不同的数据类型存储,如果存储的数据类型是整形,那么读出的数据也是整形,如果存储的是字符串,读出的数据仍是字符串。
Android中提供了三种用于得到SharePreferences对象
1.Content类中的getSharePreferences()方法
此方法接收两个参数,第一个参数指定SharePreferences文件的名称,如果指定的文件不存在则会创建一个,SharePreferences文件都存放在/data/data//shared_prefs/目录下的。
第二个参数用于指定操作模式,由MODE_PRIVATE一种模式,他是默认的操作模式,与直接传入0的效果是相同的,表示只有当前的应用程序才可以对这个文件进行读写。
2.Activity类中的getPreferences()方法
与上面方法相似,它只接收一个操作模式参数,因为使用这个方法时会自动将当前活动的类名作为SharedPreferences的文件名。
3.PreferenceManager类中的getDefaultSharedPreferences()方法
这是一个静态方法,它接收一个Context参数,并自动使用当前应用程序的包名作为前缀来命名SharedPreferences文件。得到SharedPreferences对象之后,就可以开始向SharedPreferences
文件中存储数据了,主要分三步实现。
(1)调用sharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象
(2)向SharedPreferences.Editor对象中添加数据,比如添加一个布尔型数据就使用putBoolearn()方法。
(3)调用apply()方法将添加的数据提交,从而完成数据存储操作。

发布了25 篇原创文章 · 获赞 1 · 访问量 716

猜你喜欢

转载自blog.csdn.net/weixin_43551957/article/details/103991863