在开始使用LitePal时,要求在项目的assets目录下新建一个litepal.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="Questionnaire"/>
<version value="1"></version>
<list>
<mapping class="com.aliao.parser.entity.UserInfo"></mapping>
<mapping class="com.aliao.parser.entity.SurveyInfo"></mapping>
</list>
</litepal>
该配置文件用来设定数据库的名字、版本号以及所有的对象关系映射模型。
什么是对象关系映射模型?
因为sqlite数据库是关系型数据库,而编程是面向对象的,为了使用面向对象的方式来操作数据库,所以在关系数据库和实体对象之间做了一个映射,这样在进行数据库操作的时候,我们只需要操作实体对象即可,不需要直接处理sql语句。
在litepal.xml文件的<list>标签里来设置需要进行映射的对象,数据库里的每一张的表都对应一个实体对象类。
一个litepal.xml文件让我们在进行数据库基本信息配置上变得异常方便,那程序是怎么来获取到我们配置后的信息呢?
首先需要通过解析xml文件来获取到数据库名,版本信息,以及需要映射的对象。在Litepal里使用SAXParser来解析xml,那解析后的信息放在哪里呢,是由LitePalAttr该实体类来接收从litepal.xml里读取到的所有属性值。
本来想直接贴源码的,还是立足源码自己手动实现一下好了,勤奋宝宝在咬我,biaji biaji biaji~~~
创建一个LitePalAttr实体类,对应litepal.xml的属性及其set/get方法:
package com.aliao.parser.entity;
import java.util.ArrayList;
import java.util.List;
/**
* Created by aliao on 2015/6/4.
*/
public class LitePalAttr {
private static LitePalAttr litePalAttr;
//数据库版本号
private int version;
//数据库名
private String dbName;
//所有在数据库中想要有映射关系的实体类
private List<String> classNames;
public int getVersion() {
return version;
}
public void setVersion(int ver