版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章 数据存储全方案 详解持久化技术 广东药科大学 数字媒体技术系 GDPUDM 6.1 持久化技术简介 6.2 文件存储 6.3 SharedPreferences存储 6.4 SQLite存储 6.5 LitePal存储 目录目录 广东药科大学 数字媒体技术系 GDPUDM 任何一个应用程序,总是不停的和数据打交道。 瞬时数据:指储存在内存当中,有可能因为程序关闭或其他原因 导致内存被回收而丢失的数据。 数据持久化技术,为了解决关键性数据的丢失。 广东药科大学 数字媒体技术系 GDPUDM 数据持久化技术:指那些内存中的瞬时数据保存到设备当中,保 证手机和电脑关机的情况下,数据不会丢失。
2、 保存在内存中的数据是瞬时数据,而保存在储存设备中的数据是 处于持久化状态的,持久化救赎提供了可以让数据在瞬时数据和 持久状态进行转换。 Android系统中提供了3种方式用于简单的实现数据持久化功能, 即文件存储、SharePreferences存储 、数据库存储(更安全)。 6.1 6.1 持久化技术简介持久化技术简介 广东药科大学 数字媒体技术系 GDPUDM 文件存储是Android中最基本的一种存储方式,适合用于存储一 些简单的文本数据和二进制数据。 使用的是JAVA的文件存储方式。 6.2文件存储 广东药科大学 数字媒体技术系 GDPUDM Content类提供了一个openFil
3、eOutput()方法,可以用于将数据存储 到文件中。 接收两个参数,第一参数的文件名,在文件创建的时候使用的就是这 个名字(不可包含路径,默认存储到 /data/data/files/目录下的); 第二个参数文件的操作模式(可选),分为MODE_PRIVATE(默认 的操作模式,当指定同样的文件名的时候,所写的内容将会覆盖源文 件的内容)和MODE_APPEND(如果文件存在,就往里面追加内容, 不存在就创建新文件)。 6.2.1 将数据存储到文件中 广东药科大学 数字媒体技术系 GDPUDM 保存数据的写法保存数据的写法 广东药科大学 数字媒体技术系 GDPUDM 把EditText的文字
4、Content写入文件data中 例子例子 广东药科大学 数字媒体技术系 GDPUDM 写布局文件,放入EditText 创建FilePersistenceTest项目 广东药科大学 数字媒体技术系 GDPUDM 数据回收之前,将它存储到文件当中-Back 按键返回时候处理onDestroy 广东药科大学 数字媒体技术系 GDPUDM Content提供了openFileInput()方法,从文件中读取数据。 接收一个参数(读取的文件名)。加载目录下的文件,返回 FileInputStream对象。 6.2.2 从文件中读取数据 广东药科大学 数字媒体技术系 GDPUDM 从文件中读取数据 广
5、东药科大学 数字媒体技术系 GDPUDM 重新启动显示我们上次输入的内容 广东药科大学 数字媒体技术系 GDPUDM 实现读取和显示的代码实现读取和显示的代码 广东药科大学 数字媒体技术系 GDPUDM SharedPreferences使用键值对的方式进行存储的。 当保存一条数据,需要给这个数据提供一个对应的键,在读取数 据的时候通过键取值。支持多种不同的数据类型存储。 6.3 SharedPreferences储存 广东药科大学 数字媒体技术系 GDPUDM Android中提供了获取SharedPreferences对象的三种方式: Content类中得到getSharedPrefere
6、nces()方法 接收两个参数,第一个参数用于指定SharedPreferences文件的名称,如果 指定的文件不存在,则会创建一个,SharedPreferences文件存放在 /data/data/shared_prefs/目录下的。第二个参数 操作模式,目前只有MODE_PRIVATE(默认的)一种。直接传入0的效果 是一样的,表示只有当前应用程序才可以对这个SharedPreferences文件进 行读写。 Activity类中getPreferences()方法 只接受一个操作模式参数,因为这个方法会自动将当前活动的类名作为 SharedPreferences的文件名。 Prefer
7、enceManager类中的getDefaultSharedPreferences()方法 静态方法,接收一个Content参数,自动使用当前活动程序的包名作为前缀 来命名SharedPreferences文件。 6.3.1 将数据储存到SharedPreferences中 广东药科大学 数字媒体技术系 GDPUDM (1) 调用SharedPreferences对象的edit()方法来获取 SharedPreferences.Editor对象。 (2) 向SharedPreferences.Editor对象中添加数据putXXX(),比 如添加字符串使用putString()方法,以此类推。
8、 (3) 调用apply()方法将添加的数据提交,完成数据存储操作。 SharedPreferences文件中存储数据,主要 分为3步实现: 广东药科大学 数字媒体技术系 GDPUDM 生成的数据文件是xml文件data.xml 广东药科大学 数字媒体技术系 GDPUDM 1.使用getSharedPreferences(fileName,Model)获取 SharedPreferences对象. 2.使用get(keyName,defaultValue).keyName是存储是使用的 键,defaultValue是当找不到对应的键时返回的值. 示例: 从 SharedPreferences
9、中读取数据 广东药科大学 数字媒体技术系 GDPUDM 思路是用SharedPreferences保存控件中的数据 6.3.3 实现记住密码的功能 广东药科大学 数字媒体技术系 GDPUDM 保存账户和密码保存账户和密码 广东药科大学 数字媒体技术系 GDPUDM 判断是否复选项-保存密码 显示保存的账号和密码显示保存的账号和密码 广东药科大学 数字媒体技术系 GDPUDM SQLite是一款轻量级的关系型数据库,它的运算速度非常快,占 用资源很少,只需要几百KB内存,因而特别适合在移动设备上。 SQlite不仅支持SQL语法,还遵循了数据库的ACID事务。 6.4 6.4 SQLiteSQL
10、ite数据库数据库 很重要的方法很重要的方法 广东药科大学 数字媒体技术系 GDPUDM 1.建立数据库 2.建立表 3.表上执行CRUD,sql语句 SQLiteSQLite操作操作 广东药科大学 数字媒体技术系 GDPUDM Android管理数据库:SQLiteOpenHelper帮助类对数据库进行 创建和升级。 6.4.1 创建数据库 广东药科大学 数字媒体技术系 GDPUDM SQLiteOpenHelper是一个抽象类, 创建一个帮助类继承自SQLiteOpenHelper, 分别必须重写 onCreate()(创建)和 onUpgrade()(升级) SQLiteOpenHelp
11、er的基本用法 广东药科大学 数字媒体技术系 GDPUDM SQLiteOpenHelper中的 getReadableDatabase()和getWritableDatabase(), 创建或打开现有的数据库 (如果数据库已存在则直接打开,否则一个新的数据库),并返 回一个对数据库进行读写操作的对象。 创建或打开现有的数据库 广东药科大学 数字媒体技术系 GDPUDM SQLiteOpenHelper有两个构造方法可供重写,一般使用参数较 少的构造方法(接收4个参数)。 第一个参数是Context。第二个参数是数据库名称。第三个参数 允许我们在查询数据的时候返回Cursor,一般传入null
12、。第四个 参数表示当前数据的版本号,用于对数据库进行升级操作。 构建SQLiteOpenHelper实例之后,调用它的 getReadableDatabase()或getWritableDatabase()就能创建数 据库。数据库文件存放在/data/data/databases/目录下。 此时,重新onCreate()方法得到执行,处理创建表的逻辑。 SQLiteOpenHelperSQLiteOpenHelper 参数参数 广东药科大学 数字媒体技术系 GDPUDM 创建一个名为BookStore.db的数据库, 新建Book表,表中id(主键),作者,价格,页数,书名等列 例子-创建Da
13、tabaseTest项目 广东药科大学 数字媒体技术系 GDPUDM 新建MyDatabaseHelper类继承自 SQLiteOpenHelper 广东药科大学 数字媒体技术系 GDPUDM 按钮调用创建数据库按钮调用创建数据库 广东药科大学 数字媒体技术系 GDPUDM 运行效果运行效果 广东药科大学 数字媒体技术系 GDPUDM 再添加一张Category表(id主键,分类名,分类代码)用于记录 图书的分类 在我们的MyDatabaseHelper类中的onUpgrade()方法用于对数 据库的升级 6.4.2 升级数据库- 想增加表怎么办? 广东药科大学 数字媒体技术系 GDPUDM
14、SqlSql语句语句 广东药科大学 数字媒体技术系 GDPUDM 删除已经存在表和建立表删除已经存在表和建立表 广东药科大学 数字媒体技术系 GDPUDM 版本号比之前大,会执行onUpgrade() 升级数据库升级数据库- -指定版本号为指定版本号为2 2 广东药科大学 数字媒体技术系 GDPUDM CRUD 增删改查 Create Retrieve Update Delete 如何对数据操作呢?如何对数据操作呢? 广东药科大学 数字媒体技术系 GDPUDM ContentValues 保存数据项 Inset方法插入表中 6.4.3 6.4.3 添加数据添加数据 广东药科大学 数字媒体技术系
15、 GDPUDM SQLiteDatabase中的update()方法,对数据进行更新, 接收4个参数, 第一个参数表名。 第二个参数ContentValues对象(更新数据)。 第三,四约束更新第几行数据,默认更新所有行。 6.4.46.4.4更新数据-update方法 广东药科大学 数字媒体技术系 GDPUDM SQLiteDatabase中的delete()方法,对数据进行删除,接收三个 参数, 第一个参数是表名。 第二,三约束哪一行 ,默认删除所有 6.4.5 删除数据 广东药科大学 数字媒体技术系 GDPUDM SQLiteDatabase提供了query()方法用于对数据库进行查询。 7个参数 调用query()方法后返回Cursor对象,查询到所有数据都从这个 对象中取出。 6.4.6 查询数据 广东药科大学 数字媒体技术系 GDPUDM 查询查询BookBook表所有数据表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年江西婺源茶业职业学院单招综合素质考试题库及参考答案详解一套
- 2026年朔州职业技术学院单招职业倾向性测试题库及答案详解1套
- 2026年青海建筑职业技术学院单招综合素质考试题库含答案详解
- 2026年哈尔滨传媒职业学院单招职业技能考试题库及参考答案详解1套
- 2026年吉林科技职业技术学院单招职业倾向性测试题库带答案详解
- 2026年云南交通职业技术学院单招职业技能测试题库带答案详解
- 2026年厦门工学院单招职业适应性测试题库带答案详解
- 2026年营口职业技术学院单招职业技能测试题库及答案详解1套
- 2026年陕西机电职业技术学院单招职业适应性测试题库及答案详解一套
- 2026年江苏省无锡市单招职业倾向性测试题库及答案详解1套
- 热力供应监控计划可行性研究报告
- 《病区医院感染管理规范》试题及答案
- 园林绿化养护项目投标书范本
- 烷基化装置操作工安全培训模拟考核试卷含答案
- 汽车租赁行业组织架构及岗位职责
- 全国硕士研究生2024年-管理类综合能力真题(管理类联考)
- 长津湖课件教学课件
- 聚焦前沿:2025年职业教育产教融合共同体建设难题与对策研究
- 2025年广西国家工作人员学法用法考试试题及答案
- DB41T 990-2014 生产建设项目水土保持单元工程质量评定标准
- (2025秋新版)苏教版科学三年级上册全册教案
评论
0/150
提交评论