简单介绍一下LitePal:

  LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表、増删改查的操作。并且LitePal很小,jar包大小不到100k,而且近乎零配置,这一点和Hibernate这类的框架有很大区别。目前LitePal的源码已经托管到了GitHub上。

  1、准备需要的JAR包 这里下载

  下载好了jar包之后,复制到项目的libs目录中然后引用

  当然如果不想用jar包的话,也可以把LitePal的×××下来,然后作为一个library库导入到项目当中,再引用这个library库就可以了。

  这里我使用的事JAR包进行介绍

  2、设置litepal.xml文件,这里比较重要

  首先我们需要建一个assets文件夹,这个文件夹和java文件平级

  其次在assets文件下新建一个litepal.xml,为了快速可以直接copy一个进去

  库名称

  库版本,可升级

  这里是添加表名,后面讲

  用于设定数据库的名字,用于设定数据库的版本号,用于设定所有的映射模型

  3、需要配置Application

  由于操作数据库时需要用到Context,而我们显然不希望在每个接口中都去传一遍这个参数,那样操作数据库就显得太繁琐了。因此,LitePal使用了一个方法来简化掉Context这个参数,只需要在AndroidManifest.xml中配置一下Application,所有的数据库操作就都不用再传Context了

  可能有些程序可能会有自己的Application,并在这里配置过了,那么我们就用其他办法解决,那就只需要修改一下myApplication的继承结构,让它不要直接继承Application类,而是继承我们定义的LitePalApplication类

  到了这里我们的准备工作已经做完了,接下来我们就可以开始建表了

  4、根据对象关系映射模式的理念,每一张表都应该对应一个模型(Model),也就是说,如果我们想要建一张news表,就应该有一个对应的News模型类。新建一个News类,LitePal要求所有的实体类都要继承自DataSupport这个类

  public class News extends DataSupport {

  //id这个字段可写可不写,因为即使不写这个字段,LitePal也会在表中自动生成一个id列,毕竟每张表都一定要有主键的

  private int id;

  private String title;

  private String content;

  private Date publishDate;

  private int commentCount;

  public int getId() {

  return id;

  }

  public void setId(int id) {

  this.id = id;

  }

  public String getTitle() {

  return title;

  }

  public void setTitle(String title) {

  this.title = title;

  }无锡×××医院 https://yyk.familydoctor.com.cn/20612/

  public String getContent() {

  return content;

  }

  public void setContent(String content) {

  this.content = content;

  }

  public Date getPublishDate() {

  return publishDate;

  }

  public void setPublishDate(Date publishDate) {

  this.publishDate = publishDate;

  }

  public int getCommentCount() {

  return commentCount;

  }

  public void setCommentCount(int commentCount) {

  this.commentCount = commentCount;

  }

  }

  LitePal的映射规则是非常轻量级的,不像一些其它的数据库框架,需要为每个模型类单独配置一个映射关系的XML,LitePal的所有映射都是自动完成的,LitePal的数据类型支持,可以进行对象关系映射的数据类型一共有8种,int、short、long、float、double、boolean、String和Date。只要是声明成这8种数据类型的字段都会被自动映射到数据库表中,并不需要其他的任何配置。

  现在表已经建好,我们需要将表名在assets的litepal.xml中申明(写进去映射)

  现在基本已经完成,现在只要你对数据库有任何的操作,news表就会被自动创建出来。比如说LitePal提供了一个便捷的方法来获取到SQLiteDatabase的实例,在onCreate中调用

  SQLiteDatabase db = Connector.getDatabase();

  这里初始化一下

  public class myApplication extends LitePalApplication {

  @Override

  public void onCreate() {

  super.onCreate();

  LitePal.initialize(this);

  }

  }

  此时news表就应该已经创建成功了。