6.5 使用LitePal操作数据库
上一节我们学习了使用SQLiteDatabase来操作SQLite数据库的方法。
6.5.1 LitePal简介
LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成数据库的各种操作。
6.5.2 配置LitePal
大多数的开源项目都会将版本提交到jcenter上,我们只需要再app/build.gradle文件中声明该开源库的引用就可以了。
eg:compile 'org.litepal.android:core:1.4.1'
//前面都是固定的,1.4.1是版本号,最新的版本号可在litepal主页上查看
//这样就是将LitePal陈宫引入到当前项目中了,接下来需要配置litepal.xml文件。
//右击app/src/main目录,new/Directory,创建一个assets目录,新建一个litepal.xml文件
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="BookStore"></dbname> //指定数据库名
<version value="1"></version> //指定数据库版本号
<list>
</list>
</litepal>
//需要再配置一下LitePalApplication,修改AndroidMainActivity.xml中的代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.litepaltest">
<application
android:name='org.litepal.LitePalApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
...
</application>
</manifest>
6.5.3 创建和升级数据库
LitePal采用的是对象关系映射(ORM)的模式
简单的说,我们使用的编程语言是面向对象语言,而使用的数据库则是关系型数据库,那么将面对对象的语言和面向关系的数据库之间建立一种映射关系,这就是对象关系映射。
它赋予我们一个强大的功能,就是可以用面向对象的思维来操作数据库,而不用再和SQL语句打交道了。
//定义个Book类
public class Book {
private int id;
private String author;
private double price;
private int pages;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String ge