【android LitePal框架的用法】

下面讲述一下 LitePal 数据库的用法。

一:基本使用

1.数据库的配置

首先添加一个依赖:

 dependencies {
        ......
    compile 'org.litepal.android:core:1.5.1'

}

然后如下图一样,创建出红框中的目录:

【android LitePal框架的用法】_第1张图片

在 litepal.xml 中完成如下配置:


<litepal>
    <dbname value="BookStore">dbname>   
    <version value="1">version>  

    <list>
        

    list>
litepal>

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

  
    "org.litepal.LitePalApplication"  
        ...  
    >  
    ...  
      
  

有些程序可能会有自己的Application,这时只需要修改一下MyApplication的继承结构,让它不要直接继承Application类,而是继承LitePalApplication类,就可以使用一切都能正常工作了。

2.创建表

那么接下来我们就看一看LitePal中是如何建表的吧。根据对象关系映射模式的理念,每一张表都应该对应一个模型(Model),也就是说,如果我们想要建一张book表,就应该有一个对应的Book模型类。新建一个Book类,如下所示:

public class Book extends DataSupport{

    private int id;

    private String author;

    private double price;

    private int pages;

    private String name;

    private String press;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
    ...... 生成相应的set,get方法。

现在模型类已经建好了,我们还差最后一步,就是将它配置到映射列表当中。编辑assets目录下的litepal.xml文件,在标签中加入Book模型类的声明:


<litepal>
    <dbname value="BookStore">dbname>
    <version value="1">version>
    <list>
        <mapping class="com.everyoo.bean.Book">mapping>

    list>
litepal>

好,目前基本上已经差不多了。调用一下面的方法,book表就应该已经创建成功了。

SQLiteDatabase db = Connector.getDatabase();  

个人测试发现,该方法最好放在子线程中去执行。因为当我在UI线程中执行时,发现会报类似于这样的信息‘在主线程做了太对的工作’。而且感觉我的UI操作,有不到1s的卡顿情况。

3.插入数据

4.删除数据

5.更新数据

二:数据库的升级处理

关于数据库的升级处理,LitePal框架做的还是比较好的。

三:LitePal 的多数据操作

细心的人会发现,以上的操作,都是在一个数据库中的。自 LitePal 的1.4.0版本之后,才支持创建多个数据库的功能。


参考博客:

郭林的博客:
http://blog.csdn.net/sinyu890807/article/category/2522725

框架git地址

你可能感兴趣的:(【android,数据库】)