在使用LitePal的时候有些关键步骤不可获取,其中一个是创建litepal.xml文件,放到assets目录下,里面有一些数据库名、版本号、映射列表等。那么LitePal需要怎么获取到我们配置的数据呢?这里就要去解析xml文件了。LitePal默认使用的是SAX解析。还有Pull和DOM解析未来将会被引入。
一、LitePalParser
下面先列出几个需要解析的node和attribute:
static
final
String
NODE_DB_NAME
=
"dbname"
;
static
final
String
NODE_VERSION
=
"version"
;
static
final
String
NODE_LIST
=
"list"
;
static
final
String
NODE_MAPPING
=
"mapping"
;
static
final
String
NODE_CASES
=
"cases"
;
static
final
String
ATTR_VALUE
=
"value"
;
static
final
String
ATTR_CLASS
=
"class"
;
默认会使用SAX解析。首先要从根目录的assests目录下面去遍历到litepal.xml,然后转成数据流给解析器解析。
二、LitePalAttr
从litepal.xml里面解析出来的一些属性将会存到这个类。单例模式,全局只有一个。
private
static
LitePalAttr
litePalAttr
;
private
int
version
;
private
String
dbName
;
private
String
cases
;
private
List<String>
classNames
;
三、LitePalContentHandler
继承了sax解析的DefaultHandler用来解析litepal.xml文件。然后把值set到LitePalAttr里面。