必威体育Betway必威体育官网
当前位置:首页 > IT技术

数据持久化

时间:2019-10-05 03:14:23来源:IT技术作者:seo实验室小编阅读:65次「手机版」
 

持久化

学过操作系统的都知道。

保存在内存中的数据是处于瞬时状态的,而保存在存储设备中的数据是处于持久状态的。数据持久化就是将内存中的瞬时数据保存到存储设备中,保证即使在手机电脑关机的情况下,防止数据丢失。

Android中数据持久化技术3种:文件存储、SharedPreference存储以及数据库存储。此外,还可以选择存储在手机的SD卡中。

1.文件存储:最基本的。不对存储内容进行任何的格式化处理,适合一些简单的文本数据或二进制数据。用context类中提供的openFileOutput()方法将数据存储到指定的文件中。方法返回的是一个Fileoutputstream对象,得到了这个对象之后就可以使用java流的方式将数据写入到文件中了。

从文件中读取数据:使用Context类中的openFileInput()方法。参数只有一个,即读取的文件名,在上面默认的目录下加载这个文件,并返回一个fileinputstream对象,得到对象后通过Java流方式将数据读取出来。

2.SharedPreference存储

存储:使用键值对的方式存储数据。数据存的时候是什么类型,读取出来的也是什么类型。首先要获取SharedPreference对象

得到SharedPreferences对象之后,向SharedPreferences文件中存储数据,分3步:

读取数据:获取SharedPreferences对象,调用相应的get方法。

3.sqlite数据库存储

存储:数据量大,结构复杂的数据。

创建数据库:借助SQLiteOpenHelper帮助类(是抽象的)简单地对数据库进行创建和升级。创建一个类继承它,重写onCreate()和onUpgrade()方法,实现创建和升级数据库的逻辑。SQLiteOpenHelper类还提供getReadableDatabase()和getWritableDatabase()(这两个方法返回一个SQLiteDatabase对象)。这两个方法都可以创建或打开一个现有的数据库(如果数据库存在则直接打开,若不存在则创建一个新的数据库),并返回一个可对数据库进行读写操作的对象。当数据库不可写入的时候(如磁盘空间已满),getReadableDatabase()方法返回的对象将以只读的方式打开数据库,而getWritableDatabase()则将抛出异常。SQLiteOpenHelper可重写4个参数的构造方法,构建出实例之后,再调用getReadableDatabase()和getWritableDatabase()就能够创建数据库了。数据库的文件会存放在/data/data/<package name>/databases/目录下。此时,重写的onCreate()方法也会得到执行,通常在这里处理一些创建表的逻辑。

数据库升级:onUpgrade(),若数据库已经创建过一次,不管再创建其他名字的数据库也好,都不会再执行创建数据库的语句。解决:可通过卸载程序的方法,能够创建新表,但做法比较极端。还可以运用升级功能解决这个问题。实例化SQLiteOpenHelper类的时候,传入参数大于1(之前的版本号),然后在onUpgrade()方法执行语句若当前数据库存在就删除,之后再执行创建新的数据库就可以了。

添加数据:insert()

更新数据:update()

删除数据:delete()

查询数据:query()7个参数,参数复杂,返回一个Cusor对象。

此外,还可以使用SQL操作数据库

4.使用LitePal开源库操作数据库

ORM对象关系映射:使用的编程语言是面向对象语言,使用的数据库时关系型数据库,将面向对象的语言和面向关系的数据库之间建立一种映射关系,就是对象关系映射了。

相关阅读

Pandas学习笔记八——数据透视表

数据透视表 数据透视表是一种类似于Groupby的操作方法,常见于Excel与类似的表格应用中。数据透视表将每一列作为输入,输出将数据不

数据分析及统计对开设淘宝店铺的意义是什么?

数据分析及统计对开设淘宝店铺的意义是什么?大部分的淘宝店铺都会去做淘宝数据分析及统计,都是因为淘宝数据分析对店铺有帮助才会

如何通过统计分析工具做好APP的数据分析和运营

在移动互联网快速发展,大量APP不断涌现,各行业、各领域竞争越来越激烈的的情况下,如何才能够自己的APP脱颖而出?如何获得更多的用户以

大白NB-IOT 移远BC28模块模组快速入门 (教您10分钟打通

今天大白来为大家详细介绍我们的大白BC28评估板的快速入门指南。 文末有彩蛋!!!                                

超级干货 :手把手教数据可视化工具Tableau

前言数据

分享到:

栏目导航

推荐阅读

热门阅读