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