《Android程序设计教程》课件第七章 Android数据存储_第1页
《Android程序设计教程》课件第七章 Android数据存储_第2页
《Android程序设计教程》课件第七章 Android数据存储_第3页
《Android程序设计教程》课件第七章 Android数据存储_第4页
《Android程序设计教程》课件第七章 Android数据存储_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章Android数据存储目录7.1数据存储方式简介7.2文件存储7.3SharedPreferences的使用 7.4SQLite数据库存储7.5LitePal操作数据库学习目标了解数据存储方式的特点掌握文件存储、SharedPreferences存储的使用掌握SQLite数据库的增、删、改、查的使用掌握LitePal插件操作数据库7.1数据存储方式简介Android中五种不同数据存储方式:文件存储SharedPreferences存储SQLite数据库存储网络存储ContentProvider7.2文件存储Android中的文件存储与Java中的文件存储类似,都是以I/O流的形式把数据存储到文件中。不同点在于Android中的文件存储分为外部存储和内部存储两种。外部存储就是指把文件存储到一些外部设备上,例如SD卡、设备内的存储卡等,属于永久性存储方式。使用这种类型存储的文件可以共享给其他的应用程序使用,也可以被删除、修改、查看等,它不是一种安全的存储方式。内部存储是指将应用程序的数据,以文件的形式存储在应用程序的目录下(data/data/<packagename>/files)。这个文件属于该应用程序私有,如果其他应用程序想要操作本应用程序的文件,就需要设置权限。内部存储的文件随着应用程序的卸载而删除,随着应用程序的生成而创建。7.3SharedPreferences的使用SharedPreferences是一个轻量级的存储类,特别适合用于保存软件配置参数,例如用于登录时的用户名、密码、性别等参数。SharedPreferences保存数据,其实质是用xml文件存放数据,文件存放在/data/data/<packagename>/shared_prefs目录下。在使用SharedPreferences进行数据操作的基本步骤如下:(1)使用getSharedPreferences()方法获取一个SharedPreferences实例对象。(2)使用SharedPreferences实例对象的edit()方法,获取SharedPreferences.Editor编辑对象。(3)使用SharedPreferences.Editor编辑对象的putXxx()方法来保存数据。(4)使用SharedPreferences对象的getXxx()方法来读取数据。(5)使用SharedPreferences.Editor编辑对象的commit()方法将数据提交到XML文件中。7.4SQLite数据库存储SQLite数据库比传统的数据库更加适用于嵌入式系统,因为它占用空间非常少,运行高效可靠,可移植性好,并且提供了零配置(zero-configuration)运行模式。SQLite数据库的优势在于其嵌入到使用它的应用程序中。这样不仅提高了运行效率,而且屏蔽了数据库使用和管理的复杂性,程序仅需要进行最基本的数据操作,其它操作可以交给进程内部的数据库引擎完成。7.4.1创建数据库Android为了能够更加方便地管理数据库,专门提供了一个SQLiteOpenHelper帮助类。该类是一个抽象类,具有onCreate()和onUpgrade()两个抽象方法,这就意味着我们需要创建一个自己的帮助类去继承它,然后分别在这两个方法中去实现创建、升级数据库的逻辑。SQLiteOpenHelper帮助类中还有两个非常重要的实例方法:getReadableDatabase()和getWritableDatabase()方法。这两个方法都可以创建或打开一个现有的数据库,并返回一个可对数据库进行读写操作的对象。SQLiteOpenHelper帮助类中还有两个构造方法可供重写,一般使用参数少一点的构造方法即可。这个构造方法中接收4个参数,第一个参数是Context,必须要有它才能对数据库进行操作;第二个参数是数据库名,创建数据库时使用的就是这里指定的名称;第三个参数允许我们在查询数据的时候返回一个自定义的Cursor,一般都是传入null;第四个参数表示当前数据库的版本号,可用于对数据库进行升级操作。7.4.2升级数据库当我们需要对数据库中的表进行删除或增加时,就可以使用SQLiteOpenHelper帮助类中onUpgrade()方法。7.4.3添加数据对数据的操作无非有四种,即CRUD,其中C代表添加(Create),R代表查询(Retrieve),U代表更新(Update),D代表删除(Delete)。Android提供了一系列的辅助性方法,使得在Android中不去编写SQL语句,也能轻松完成所有的CRUD操作。SQLiteDatabase类中提供了一个insert()方法,这个方法就是专门用于添加数据的,其返回值是新数据插入的位置,即ID值。它接受三个参数:第一个参数指定需要添加数据的表名;第二个参数用于在未指定添加数据的情况下给某些可为空的列自动赋值NULL,直接传入null即可;第三个参数是一个ContentValues对象,它提供了一系列的put()方法重载,用于向ContentValues中添加数据,只需要将表中的每个列名以及相应的待添加数据传入即可。7.4.4更新数据SQLiteDatabase类中也提供了一个非常好用的update()方法,用于对数据进行更新。这个方法接收四个参数,第一个参数和insert()方法一样,也是表名,在这里指定去更新哪张表里的数据;第二个参数是ContentValues对象,就是要把更新数据在这里组装进去;第三、第四个参数用于约束更新某一行或某几行中的数据,不指定的话就是默认更新所有行。7.4.5删除数据SQLiteDatabase类中也提供了一个非常好用的delete()方法,用于删除数据。这个方法有三个参数,第一个参数仍然是表名,第二、第三个参数是用于约束删除某一行或某几行的数据,不指定的话默认就是删除所有行。7.4.6查询数据SQLiteDatabase类中还提供了一个query()方法用于对数据进行查询。这个方法的参数非常复杂,最短的一个方法重载也需要传入7个参数。7.5LitePal操作数据库LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表和增删改查的操作。7.5.1配置LitePalLitePal是一款开源的Android数据库框架,采用了对象关系映射的模式。首先需要在GitHub上去下载LitePal开源库,其下载地址是/LitePalFramework/LitePal,根据自己的需要下载相应版本就可以了。(1)创建一个Android应用程序,将下载的jar文件拷贝到app/libs目录里,然后右键点击这个包,在弹出的菜单中选择“AddAsLibrary”选项,在弹出的对话框中点击“确定”按钮即可。打开app/build.gradle文件,在dependencies闭包中看到自动添加了如下内容:implementationfiles('libs/litepal-1.6.1.jar')则说明LitePal开源库加载成功。其中最后的1.6.1是版本号的意思。(2)需要配置litepal.xml文件。右击app/src/main目录→New→Directory,创建一个assets目录,然后在assets目录下再新建一个litepal.xml文件,并编辑litepal.xml文件中的内容如下。<?xmlversion="1.0"encoding="UTF-8"?><litepal><dbnamevalue="BookStore"></dbname><versionvalue="1"></version><list></list></litepal>其中,<dbname

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论